diff --git a/dlls/msvcp60/exception.c b/dlls/msvcp60/exception.c index 8677c61df18..fa9a300ae2c 100644 --- a/dlls/msvcp60/exception.c +++ b/dlls/msvcp60/exception.c @@ -61,11 +61,16 @@ typedef struct __cxx_exception_type void WINAPI _CxxThrowException(exception*,const cxx_exception_type*); /* vtables */ +/* ??_7bad_alloc@std@@6B@ */ extern const vtable_ptr MSVCP_bad_alloc_vtable; +/* ??_7logic_error@std@@6B@ */ extern const vtable_ptr MSVCP_logic_error_vtable; +/* ??_7length_error@std@@6B@ */ extern const vtable_ptr MSVCP_length_error_vtable; +/* ??_7out_of_range@std@@6B@ */ extern const vtable_ptr MSVCP_out_of_range_vtable; extern const vtable_ptr MSVCP_invalid_argument_vtable; +/* ??_7runtime_error@std@@6B@ */ extern const vtable_ptr MSVCP_runtime_error_vtable; /* exception class data */ @@ -76,15 +81,15 @@ static type_info exception_type_info = { }; DEFINE_THISCALL_WRAPPER(MSVCP_exception_ctor, 8) -exception* __thiscall MSVCP_exception_ctor(exception *this, const char **name) +exception* __thiscall MSVCP_exception_ctor(exception *this, const char *name) { - TRACE("(%p %s)\n", this, *name); + TRACE("(%p %s)\n", this, name); this->vtable = exception_type_info.vtable; - if(*name) { - unsigned int name_len = strlen(*name) + 1; + if(name) { + unsigned int name_len = strlen(name) + 1; this->name = malloc(name_len); - memcpy(this->name, *name, name_len); + memcpy(this->name, name, name_len); this->do_free = TRUE; } else { this->name = NULL; @@ -103,7 +108,7 @@ exception* __thiscall MSVCP_exception_copy_ctor(exception *this, const exception this->name = rhs->name; this->do_free = FALSE; } else - MSVCP_exception_ctor(this, (const char**)&rhs->name); + MSVCP_exception_ctor(this, rhs->name); TRACE("name = %s\n", this->name); return this; } @@ -117,6 +122,29 @@ void __thiscall MSVCP_exception_dtor(exception *this) free(this->name); } +/* ?_Doraise@bad_alloc@std@@MBEXXZ */ +/* ?_Doraise@bad_alloc@std@@MEBAXXZ */ +/* ?_Doraise@logic_error@std@@MBEXXZ */ +/* ?_Doraise@logic_error@std@@MEBAXXZ */ +/* ?_Doraise@length_error@std@@MBEXXZ */ +/* ?_Doraise@length_error@std@@MEBAXXZ */ +/* ?_Doraise@out_of_range@std@@MBEXXZ */ +/* ?_Doraise@out_of_range@std@@MEBAXXZ */ +/* ?_Doraise@runtime_error@std@@MBEXXZ */ +/* ?_Doraise@runtime_error@std@@MEBAXXZ */ +DEFINE_THISCALL_WRAPPER(MSVCP_exception__Doraise, 4) +void __thiscall MSVCP_exception__Doraise(exception *this) +{ + FIXME("(%p) stub\n", this); +} + +DEFINE_THISCALL_WRAPPER(MSVCP_exception_what,4) +const char* __thiscall MSVCP_exception_what(exception * this) +{ + TRACE("(%p) returning %s\n", this, this->name); + return this->name ? this->name : "Unknown exception"; +} + static const rtti_base_descriptor exception_rtti_base_descriptor = { &exception_type_info, 0, @@ -157,15 +185,27 @@ void set_exception_vtable(void) /* bad_alloc class data */ typedef exception bad_alloc; +/* ??0bad_alloc@std@@QAE@PBD@Z */ +/* ??0bad_alloc@std@@QEAA@PEBD@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_ctor, 8) -bad_alloc* __thiscall MSVCP_bad_alloc_ctor(bad_alloc *this, const char **name) +bad_alloc* __thiscall MSVCP_bad_alloc_ctor(bad_alloc *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); MSVCP_exception_ctor(this, name); this->vtable = &MSVCP_bad_alloc_vtable; return this; } +/* ??0bad_alloc@std@@QAE@XZ */ +/* ??0bad_alloc@std@@QEAA@XZ */ +DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_default_ctor, 4) +bad_alloc* __thiscall MSVCP_bad_alloc_default_ctor(bad_alloc *this) +{ + return MSVCP_bad_alloc_ctor(this, "bad allocation"); +} + +/* ??0bad_alloc@std@@QAE@ABV01@@Z */ +/* ??0bad_alloc@std@@QEAA@AEBV01@@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_copy_ctor, 8) bad_alloc* __thiscall MSVCP_bad_alloc_copy_ctor(bad_alloc *this, const bad_alloc *rhs) { @@ -175,6 +215,8 @@ bad_alloc* __thiscall MSVCP_bad_alloc_copy_ctor(bad_alloc *this, const bad_alloc return this; } +/* ??1bad_alloc@std@@UAE@XZ */ +/* ??1bad_alloc@std@@UEAA@XZ */ DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_dtor, 4) void __thiscall MSVCP_bad_alloc_dtor(bad_alloc *this) { @@ -202,11 +244,13 @@ void * __thiscall MSVCP_bad_alloc_vector_dtor(bad_alloc *this, unsigned int flag return this; } -DEFINE_THISCALL_WRAPPER(MSVCP_what_exception,4) -const char* __thiscall MSVCP_what_exception(exception * this) +/* ??4bad_alloc@std@@QAEAAV01@ABV01@@Z */ +/* ??4bad_alloc@std@@QEAAAEAV01@AEBV01@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_assign, 8) +bad_alloc* __thiscall MSVCP_bad_alloc_assign(bad_alloc *this, const bad_alloc *assign) { - TRACE("(%p) returning %s\n", this, this->name); - return this->name ? this->name : "Unknown exception"; + MSVCP_bad_alloc_dtor(this); + return MSVCP_bad_alloc_copy_ctor(this, assign); } DEFINE_RTTI_DATA(bad_alloc, 0, 1, &exception_rtti_base_descriptor, NULL, NULL, ".?AVbad_alloc@std@@"); @@ -236,26 +280,28 @@ static const cxx_exception_type bad_alloc_cxx_type = { }; /* logic_error class data */ -typedef struct _logic_error { +typedef struct { exception e; basic_string_char str; } logic_error; DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_ctor, 8) logic_error* __thiscall MSVCP_logic_error_ctor( - logic_error *this, const char **name) + logic_error *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); this->e.vtable = &MSVCP_logic_error_vtable; this->e.name = NULL; this->e.do_free = FALSE; - MSVCP_basic_string_char_ctor_cstr(&this->str, *name); + MSVCP_basic_string_char_ctor_cstr(&this->str, name); return this; } +/* ??0logic_error@std@@QAE@ABV01@@Z */ +/* ??0logic_error@std@@QEAA@AEBV01@@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_copy_ctor, 8) logic_error* __thiscall MSVCP_logic_error_copy_ctor( - logic_error *this, logic_error *rhs) + logic_error *this, const logic_error *rhs) { TRACE("%p %p\n", this, rhs); MSVCP_exception_copy_ctor(&this->e, &rhs->e); @@ -264,6 +310,23 @@ logic_error* __thiscall MSVCP_logic_error_copy_ctor( return this; } +/* ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +/* ??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_ctor_bstr, 8) +logic_error* __thiscall MSVCP_logic_error_ctor_bstr(logic_error *this, const basic_string_char *str) +{ + TRACE("(%p %p)\n", this, str); + return MSVCP_logic_error_ctor(this, MSVCP_basic_string_char_c_str(str)); +} + +/* ??1logic_error@std@@UAE@XZ */ +/* ??1logic_error@std@@UEAA@XZ */ +/* ??1length_error@std@@UAE@XZ */ +/* ??1length_error@std@@UEAA@XZ */ +/* ??1out_of_range@std@@UAE@XZ */ +/* ??1out_of_range@std@@UEAA@XZ */ +/* ??1runtime_error@std@@UAE@XZ */ +/* ??1runtime_error@std@@UEAA@XZ */ DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_dtor, 4) void __thiscall MSVCP_logic_error_dtor(logic_error *this) { @@ -293,6 +356,17 @@ void* __thiscall MSVCP_logic_error_vector_dtor( return this; } +/* ??4logic_error@std@@QAEAAV01@ABV01@@Z */ +/* ??4logic_error@std@@QEAAAEAV01@AEBV01@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_assign, 8) +logic_error* __thiscall MSVCP_logic_error_assign(logic_error *this, const logic_error *assign) +{ + MSVCP_logic_error_dtor(this); + return MSVCP_logic_error_copy_ctor(this, assign); +} + +/* ?what@logic_error@std@@UBEPBDXZ */ +/* ?what@logic_error@std@@UEBAPEBDXZ */ DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_what, 4) const char* __thiscall MSVCP_logic_error_what(logic_error *this) { @@ -331,17 +405,19 @@ typedef logic_error length_error; DEFINE_THISCALL_WRAPPER(MSVCP_length_error_ctor, 8) length_error* __thiscall MSVCP_length_error_ctor( - length_error *this, const char **name) + length_error *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); MSVCP_logic_error_ctor(this, name); this->e.vtable = &MSVCP_length_error_vtable; return this; } +/* ??0length_error@std@@QAE@ABV01@@Z */ +/* ??0length_error@std@@QEAA@AEBV01@@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_length_error_copy_ctor, 8) length_error* __thiscall MSVCP_length_error_copy_ctor( - length_error *this, length_error *rhs) + length_error *this, const length_error *rhs) { TRACE("%p %p\n", this, rhs); MSVCP_logic_error_copy_ctor(this, rhs); @@ -349,6 +425,15 @@ length_error* __thiscall MSVCP_length_error_copy_ctor( return this; } +/* ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +/* ??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_length_error_ctor_bstr, 8) +length_error* __thiscall MSVCP_length_error_ctor_bstr(length_error *this, const basic_string_char *str) +{ + TRACE("(%p %p)\n", this, str); + return MSVCP_length_error_ctor(this, MSVCP_basic_string_char_c_str(str)); +} + DEFINE_THISCALL_WRAPPER(MSVCP_length_error_vector_dtor, 8) void* __thiscall MSVCP_length_error_vector_dtor( length_error *this, unsigned int flags) @@ -357,6 +442,15 @@ void* __thiscall MSVCP_length_error_vector_dtor( return MSVCP_logic_error_vector_dtor(this, flags); } +/* ??4length_error@std@@QAEAAV01@ABV01@@Z */ +/* ??4length_error@std@@QEAAAEAV01@AEBV01@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_length_error_assign, 8) +length_error* __thiscall MSVCP_length_error_assign(length_error *this, const length_error *assign) +{ + MSVCP_logic_error_dtor(this); + return MSVCP_length_error_copy_ctor(this, assign); +} + DEFINE_RTTI_DATA(length_error, 0, 2, &logic_error_rtti_base_descriptor, &exception_rtti_base_descriptor, NULL, ".?AVlength_error@std@@"); static const cxx_type_info length_error_cxx_type_info = { @@ -388,17 +482,19 @@ typedef logic_error out_of_range; DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_ctor, 8) out_of_range* __thiscall MSVCP_out_of_range_ctor( - out_of_range *this, const char **name) + out_of_range *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); MSVCP_logic_error_ctor(this, name); this->e.vtable = &MSVCP_out_of_range_vtable; return this; } +/* ??0out_of_range@std@@QAE@ABV01@@Z */ +/* ??0out_of_range@std@@QEAA@AEBV01@@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_copy_ctor, 8) out_of_range* __thiscall MSVCP_out_of_range_copy_ctor( - out_of_range *this, out_of_range *rhs) + out_of_range *this, const out_of_range *rhs) { TRACE("%p %p\n", this, rhs); MSVCP_logic_error_copy_ctor(this, rhs); @@ -406,6 +502,15 @@ out_of_range* __thiscall MSVCP_out_of_range_copy_ctor( return this; } +/* ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +/* ??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_ctor_bstr, 8) +out_of_range* __thiscall MSVCP_out_of_range_ctor_bstr(out_of_range *this, const basic_string_char *str) +{ + TRACE("(%p %p)\n", this, str); + return MSVCP_out_of_range_ctor(this, MSVCP_basic_string_char_c_str(str)); +} + DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_vector_dtor, 8) void* __thiscall MSVCP_out_of_range_vector_dtor( out_of_range *this, unsigned int flags) @@ -414,6 +519,15 @@ void* __thiscall MSVCP_out_of_range_vector_dtor( return MSVCP_logic_error_vector_dtor(this, flags); } +/* ??4out_of_range@std@@QAEAAV01@ABV01@@Z */ +/* ??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_assign, 8) +out_of_range* __thiscall MSVCP_out_of_range_assign(out_of_range *this, const out_of_range *assign) +{ + MSVCP_logic_error_dtor(this); + return MSVCP_out_of_range_copy_ctor(this, assign); +} + DEFINE_RTTI_DATA(out_of_range, 0, 2, &logic_error_rtti_base_descriptor, &exception_rtti_base_descriptor, NULL, ".?AVout_of_range@std@@"); static const cxx_type_info out_of_range_cxx_type_info = { @@ -445,9 +559,9 @@ typedef logic_error invalid_argument; DEFINE_THISCALL_WRAPPER(MSVCP_invalid_argument_ctor, 8) invalid_argument* __thiscall MSVCP_invalid_argument_ctor( - invalid_argument *this, const char **name) + invalid_argument *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); MSVCP_logic_error_ctor(this, name); this->e.vtable = &MSVCP_invalid_argument_vtable; return this; @@ -498,40 +612,37 @@ static const cxx_exception_type invalid_argument_cxx_type = { }; /* runtime_error class data */ -typedef struct { - exception e; - basic_string_char str; -} runtime_error; +typedef logic_error runtime_error; DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_ctor, 8) runtime_error* __thiscall MSVCP_runtime_error_ctor( - runtime_error *this, const char **name) + runtime_error *this, const char *name) { - TRACE("%p %s\n", this, *name); + TRACE("%p %s\n", this, name); + MSVCP_logic_error_ctor(this, name); this->e.vtable = &MSVCP_runtime_error_vtable; - this->e.name = NULL; - this->e.do_free = FALSE; - MSVCP_basic_string_char_ctor_cstr(&this->str, *name); return this; } +/* ??0runtime_error@std@@QAE@ABV01@@Z */ +/* ??0runtime_error@std@@QEAA@AEBV01@@Z */ DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_copy_ctor, 8) runtime_error* __thiscall MSVCP_runtime_error_copy_ctor( - runtime_error *this, runtime_error *rhs) + runtime_error *this, const runtime_error *rhs) { TRACE("%p %p\n", this, rhs); - MSVCP_exception_copy_ctor(&this->e, &rhs->e); - MSVCP_basic_string_char_copy_ctor(&this->str, &rhs->str); + MSVCP_logic_error_copy_ctor(this, rhs); this->e.vtable = &MSVCP_runtime_error_vtable; return this; } -DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_dtor, 4) -void __thiscall MSVCP_runtime_error_dtor(runtime_error *this) +/* ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +/* ??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_ctor_bstr, 8) +runtime_error* __thiscall MSVCP_runtime_error_ctor_bstr(runtime_error *this, const basic_string_char *str) { - TRACE("%p\n", this); - MSVCP_exception_dtor(&this->e); - MSVCP_basic_string_char_dtor(&this->str); + TRACE("(%p %p)\n", this, str); + return MSVCP_runtime_error_ctor(this, MSVCP_basic_string_char_c_str(str)); } DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_vector_dtor, 8) @@ -539,20 +650,16 @@ void* __thiscall MSVCP_runtime_error_vector_dtor( runtime_error *this, unsigned int flags) { TRACE("%p %x\n", this, flags); - if(flags & 2) { - /* we have an array, with the number of elements stored before the first object */ - int i, *ptr = (int *)this-1; + return MSVCP_logic_error_vector_dtor(this, flags); +} - for(i=*ptr-1; i>=0; i--) - MSVCP_runtime_error_dtor(this+i); - MSVCRT_operator_delete(ptr); - } else { - MSVCP_runtime_error_dtor(this); - if(flags & 1) - MSVCRT_operator_delete(this); - } - - return this; +/* ??4runtime_error@std@@QAEAAV01@ABV01@@Z */ +/* ??4runtime_error@std@@QEAAAEAV01@AEBV01@@Z */ +DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_assign, 8) +runtime_error* __thiscall MSVCP_runtime_error_assign(runtime_error *this, const runtime_error *assign) +{ + MSVCP_logic_error_dtor(this); + return MSVCP_runtime_error_copy_ctor(this, assign); } DEFINE_RTTI_DATA(runtime_error, 0, 1, &exception_rtti_base_descriptor, NULL, NULL, ".?AVruntime_error@std@@"); @@ -576,11 +683,13 @@ static const cxx_type_info_table runtime_error_cxx_type_table = { static const cxx_exception_type runtime_error_cxx_type = { 0, - (cxx_copy_ctor)THISCALL(MSVCP_runtime_error_dtor), + (cxx_copy_ctor)THISCALL(MSVCP_logic_error_dtor), NULL, &runtime_error_cxx_type_table }; +/* ?what@runtime_error@std@@UBEPBDXZ */ +/* ?what@runtime_error@std@@UEBAPEBDXZ */ DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_what, 4) const char* __thiscall MSVCP_runtime_error_what(runtime_error *this) { @@ -591,12 +700,24 @@ const char* __thiscall MSVCP_runtime_error_what(runtime_error *this) #ifndef __GNUC__ void __asm_dummy_vtables(void) { #endif - __ASM_VTABLE(bad_alloc, VTABLE_ADD_FUNC(MSVCP_what_exception)); - __ASM_VTABLE(logic_error, VTABLE_ADD_FUNC(MSVCP_logic_error_what)); - __ASM_VTABLE(length_error, VTABLE_ADD_FUNC(MSVCP_logic_error_what)); - __ASM_VTABLE(out_of_range, VTABLE_ADD_FUNC(MSVCP_logic_error_what)); - __ASM_VTABLE(invalid_argument, VTABLE_ADD_FUNC(MSVCP_logic_error_what)); - __ASM_VTABLE(runtime_error, VTABLE_ADD_FUNC(MSVCP_runtime_error_what)); + __ASM_VTABLE(bad_alloc, + VTABLE_ADD_FUNC(MSVCP_exception_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); + __ASM_VTABLE(logic_error, + VTABLE_ADD_FUNC(MSVCP_logic_error_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); + __ASM_VTABLE(length_error, + VTABLE_ADD_FUNC(MSVCP_logic_error_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); + __ASM_VTABLE(out_of_range, + VTABLE_ADD_FUNC(MSVCP_logic_error_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); + __ASM_VTABLE(invalid_argument, + VTABLE_ADD_FUNC(MSVCP_logic_error_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); + __ASM_VTABLE(runtime_error, + VTABLE_ADD_FUNC(MSVCP_runtime_error_what) + VTABLE_ADD_FUNC(MSVCP_exception__Doraise)); #ifndef __GNUC__ } #endif @@ -604,42 +725,40 @@ void __asm_dummy_vtables(void) { /* Internal: throws selected exception */ void throw_exception(exception_type et, const char *str) { - const char *addr = str; - switch(et) { case EXCEPTION: { exception e; - MSVCP_exception_ctor(&e, &addr); + MSVCP_exception_ctor(&e, str); _CxxThrowException(&e, &exception_cxx_type); } case EXCEPTION_BAD_ALLOC: { bad_alloc e; - MSVCP_bad_alloc_ctor(&e, &addr); + MSVCP_bad_alloc_ctor(&e, str); _CxxThrowException(&e, &bad_alloc_cxx_type); } case EXCEPTION_LOGIC_ERROR: { logic_error e; - MSVCP_logic_error_ctor(&e, &addr); + MSVCP_logic_error_ctor(&e, str); _CxxThrowException((exception*)&e, &logic_error_cxx_type); } case EXCEPTION_LENGTH_ERROR: { length_error e; - MSVCP_length_error_ctor(&e, &addr); + MSVCP_length_error_ctor(&e, str); _CxxThrowException((exception*)&e, &length_error_cxx_type); } case EXCEPTION_OUT_OF_RANGE: { out_of_range e; - MSVCP_out_of_range_ctor(&e, &addr); + MSVCP_out_of_range_ctor(&e, str); _CxxThrowException((exception*)&e, &out_of_range_cxx_type); } case EXCEPTION_INVALID_ARGUMENT: { invalid_argument e; - MSVCP_invalid_argument_ctor(&e, &addr); + MSVCP_invalid_argument_ctor(&e, str); _CxxThrowException((exception*)&e, &invalid_argument_cxx_type); } case EXCEPTION_RUNTIME_ERROR: { runtime_error e; - MSVCP_runtime_error_ctor(&e, &addr); + MSVCP_runtime_error_ctor(&e, str); _CxxThrowException((exception*)&e, &runtime_error_cxx_type); } } diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec index bbaee6f73ee..a3680b8d32b 100644 --- a/dlls/msvcp60/msvcp60.spec +++ b/dlls/msvcp60/msvcp60.spec @@ -839,12 +839,12 @@ @ stub -arch=win64 ??0__non_rtti_object@std@@QEAA@AEBV01@@Z @ stub -arch=win32 ??0__non_rtti_object@std@@QAE@PBD@Z @ stub -arch=win64 ??0__non_rtti_object@std@@QEAA@PEBD@Z -@ stub -arch=win32 ??0bad_alloc@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0bad_alloc@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0bad_alloc@std@@QAE@PBD@Z -@ stub -arch=win64 ??0bad_alloc@std@@QEAA@PEBD@Z -@ stub -arch=win32 ??0bad_alloc@std@@QAE@XZ -@ stub -arch=win64 ??0bad_alloc@std@@QEAA@XZ +@ thiscall -arch=win32 ??0bad_alloc@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_bad_alloc_copy_ctor +@ cdecl -arch=win64 ??0bad_alloc@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_bad_alloc_copy_ctor +@ thiscall -arch=win32 ??0bad_alloc@std@@QAE@PBD@Z(ptr str) MSVCP_bad_alloc_ctor +@ cdecl -arch=win64 ??0bad_alloc@std@@QEAA@PEBD@Z(ptr str) MSVCP_bad_alloc_ctor +@ thiscall -arch=win32 ??0bad_alloc@std@@QAE@XZ(ptr) MSVCP_bad_alloc_default_ctor +@ cdecl -arch=win64 ??0bad_alloc@std@@QEAA@XZ(ptr) MSVCP_bad_alloc_default_ctor @ stub -arch=win32 ??0bad_cast@std@@QAE@ABV01@@Z @ stub -arch=win64 ??0bad_cast@std@@QEAA@AEBV01@@Z @ stub -arch=win32 ??0bad_cast@std@@QAE@PBD@Z @@ -871,10 +871,10 @@ @ stub -arch=win64 ??0ios_base@std@@IEAA@XZ # don't forward to msvcp90 @ stub -arch=win32 ??0ios_base@std@@QAE@ABV01@@Z # don't forward to msvcp90 @ stub -arch=win64 ??0ios_base@std@@QEAA@AEBV01@@Z # don't forward to msvcp90 -@ stub -arch=win32 ??0length_error@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0length_error@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z -@ stub -arch=win64 ??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z +@ thiscall -arch=win32 ??0length_error@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_length_error_copy_ctor +@ cdecl -arch=win64 ??0length_error@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_length_error_copy_ctor +@ thiscall -arch=win32 ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_length_error_ctor_bstr +@ cdecl -arch=win64 ??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_length_error_ctor_bstr @ stub -arch=win32 ??0locale@std@@AAE@PAV_Locimp@01@@Z # don't forward to msvcp90 @ stub -arch=win64 ??0locale@std@@AEAA@PEAV_Locimp@01@@Z # don't forward to msvcp90 @ stub -arch=win32 ??0locale@std@@QAE@ABV01@0H@Z # don't forward to msvcp90 @@ -889,20 +889,20 @@ @ stub -arch=win64 ??0locale@std@@QEAA@W4_Uninitialized@1@@Z # don't forward to msvcp90 @ stub -arch=win32 ??0locale@std@@QAE@XZ # don't forward to msvcp90 @ stub -arch=win64 ??0locale@std@@QEAA@XZ # don't forward to msvcp90 -@ stub -arch=win32 ??0logic_error@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0logic_error@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z -@ stub -arch=win64 ??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z +@ thiscall -arch=win32 ??0logic_error@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_logic_error_copy_ctor +@ cdecl -arch=win64 ??0logic_error@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_logic_error_copy_ctor +@ thiscall -arch=win32 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_logic_error_ctor_bstr +@ cdecl -arch=win64 ??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_logic_error_ctor_bstr @ stub -arch=win32 ??0messages_base@std@@QAE@I@Z @ stub -arch=win64 ??0messages_base@std@@QEAA@_K@Z @ stub -arch=win32 ??0money_base@std@@QAE@I@Z @ stub -arch=win64 ??0money_base@std@@QEAA@_K@Z @ stub -arch=win32 ??0ostrstream@std@@QAE@PADHH@Z @ stub -arch=win64 ??0ostrstream@std@@QEAA@PEAD_JH@Z -@ stub -arch=win32 ??0out_of_range@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0out_of_range@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z -@ stub -arch=win64 ??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z +@ thiscall -arch=win32 ??0out_of_range@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_out_of_range_copy_ctor +@ cdecl -arch=win64 ??0out_of_range@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_out_of_range_copy_ctor +@ thiscall -arch=win32 ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_out_of_range_ctor_bstr +@ cdecl -arch=win64 ??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_out_of_range_ctor_bstr @ stub -arch=win32 ??0overflow_error@std@@QAE@ABV01@@Z @ stub -arch=win64 ??0overflow_error@std@@QEAA@AEBV01@@Z @ stub -arch=win32 ??0overflow_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z @@ -911,10 +911,10 @@ @ stub -arch=win64 ??0range_error@std@@QEAA@AEBV01@@Z @ stub -arch=win32 ??0range_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z @ stub -arch=win64 ??0range_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z -@ stub -arch=win32 ??0runtime_error@std@@QAE@ABV01@@Z -@ stub -arch=win64 ??0runtime_error@std@@QEAA@AEBV01@@Z -@ stub -arch=win32 ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z -@ stub -arch=win64 ??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z +@ thiscall -arch=win32 ??0runtime_error@std@@QAE@ABV01@@Z(ptr ptr) MSVCP_runtime_error_copy_ctor +@ cdecl -arch=win64 ??0runtime_error@std@@QEAA@AEBV01@@Z(ptr ptr) MSVCP_runtime_error_copy_ctor +@ thiscall -arch=win32 ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_runtime_error_ctor_bstr +@ cdecl -arch=win64 ??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z(ptr ptr) MSVCP_runtime_error_ctor_bstr @ stub -arch=win32 ??0strstream@std@@QAE@PADHH@Z @ stub -arch=win64 ??0strstream@std@@QEAA@PEAD_JH@Z @ stub -arch=win32 ??0time_base@std@@QAE@I@Z @@ -1047,8 +1047,8 @@ @ stub -arch=win64 ??1_Winit@std@@QEAA@XZ @ stub -arch=win32 ??1__non_rtti_object@std@@UAE@XZ @ stub -arch=win64 ??1__non_rtti_object@std@@UEAA@XZ -@ stub -arch=win32 ??1bad_alloc@std@@UAE@XZ -@ stub -arch=win64 ??1bad_alloc@std@@UEAA@XZ +@ thiscall -arch=win32 ??1bad_alloc@std@@UAE@XZ(ptr) MSVCP_bad_alloc_dtor +@ cdecl -arch=win64 ??1bad_alloc@std@@UEAA@XZ(ptr) MSVCP_bad_alloc_dtor @ stub -arch=win32 ??1bad_cast@std@@UAE@XZ @ stub -arch=win64 ??1bad_cast@std@@UEAA@XZ @ stub -arch=win32 ??1bad_exception@std@@UAE@XZ @@ -1067,26 +1067,26 @@ @ stub -arch=win64 ??1ios_base@std@@UEAA@XZ # don't forward to msvcp90 @ stub -arch=win32 ??1istrstream@std@@UAE@XZ @ stub -arch=win64 ??1istrstream@std@@UEAA@XZ -@ stub -arch=win32 ??1length_error@std@@UAE@XZ -@ stub -arch=win64 ??1length_error@std@@UEAA@XZ +@ thiscall -arch=win32 ??1length_error@std@@UAE@XZ(ptr) MSVCP_logic_error_dtor +@ cdecl -arch=win64 ??1length_error@std@@UEAA@XZ(ptr) MSVCP_logic_error_dtor @ stub -arch=win32 ??1locale@std@@QAE@XZ # don't forward to msvcp90 @ stub -arch=win64 ??1locale@std@@QEAA@XZ # don't forward to msvcp90 -@ stub -arch=win32 ??1logic_error@std@@UAE@XZ -@ stub -arch=win64 ??1logic_error@std@@UEAA@XZ +@ thiscall -arch=win32 ??1logic_error@std@@UAE@XZ(ptr) MSVCP_logic_error_dtor +@ cdecl -arch=win64 ??1logic_error@std@@UEAA@XZ(ptr) MSVCP_logic_error_dtor @ stub -arch=win32 ??1messages_base@std@@UAE@XZ @ stub -arch=win64 ??1messages_base@std@@UEAA@XZ @ stub -arch=win32 ??1money_base@std@@UAE@XZ @ stub -arch=win64 ??1money_base@std@@UEAA@XZ @ stub -arch=win32 ??1ostrstream@std@@UAE@XZ @ stub -arch=win64 ??1ostrstream@std@@UEAA@XZ -@ stub -arch=win32 ??1out_of_range@std@@UAE@XZ -@ stub -arch=win64 ??1out_of_range@std@@UEAA@XZ +@ thiscall -arch=win32 ??1out_of_range@std@@UAE@XZ(ptr) MSVCP_logic_error_dtor +@ cdecl -arch=win64 ??1out_of_range@std@@UEAA@XZ(ptr) MSVCP_logic_error_dtor @ stub -arch=win32 ??1overflow_error@std@@UAE@XZ @ stub -arch=win64 ??1overflow_error@std@@UEAA@XZ @ stub -arch=win32 ??1range_error@std@@UAE@XZ @ stub -arch=win64 ??1range_error@std@@UEAA@XZ -@ stub -arch=win32 ??1runtime_error@std@@UAE@XZ -@ stub -arch=win64 ??1runtime_error@std@@UEAA@XZ +@ thiscall -arch=win32 ??1runtime_error@std@@UAE@XZ(ptr) MSVCP_logic_error_dtor +@ cdecl -arch=win64 ??1runtime_error@std@@UEAA@XZ(ptr) MSVCP_logic_error_dtor @ stub -arch=win32 ??1strstream@std@@UAE@XZ @ stub -arch=win64 ??1strstream@std@@UEAA@XZ @ stub -arch=win32 ??1strstreambuf@std@@UAE@XZ @@ -1233,8 +1233,8 @@ @ stub -arch=win64 ??4_Winit@std@@QEAAAEAV01@AEBV01@@Z @ stub -arch=win32 ??4__non_rtti_object@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4__non_rtti_object@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4bad_alloc@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4bad_alloc@std@@QEAAAEAV01@AEBV01@@Z +@ thiscall -arch=win32 ??4bad_alloc@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_bad_alloc_assign +@ cdecl -arch=win64 ??4bad_alloc@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) MSVCP_bad_alloc_assign @ stub -arch=win32 ??4bad_cast@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4bad_cast@std@@QEAAAEAV01@AEBV01@@Z @ stub -arch=win32 ??4bad_exception@std@@QAEAAV01@ABV01@@Z @@ -1247,20 +1247,20 @@ @ stub -arch=win64 ??4id@locale@std@@QEAAAEAV012@AEBV012@@Z @ stub -arch=win32 ??4ios_base@std@@QAEAAV01@ABV01@@Z # don't forward to msvcp90 @ stub -arch=win64 ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z # don't forward to msvcp90 -@ stub -arch=win32 ??4length_error@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4length_error@std@@QEAAAEAV01@AEBV01@@Z +@ thiscall -arch=win32 ??4length_error@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_length_error_assign +@ cdecl -arch=win64 ??4length_error@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) MSVCP_length_error_assign @ stub -arch=win32 ??4locale@std@@QAEAAV01@ABV01@@Z # don't forward to msvcp90 @ stub -arch=win64 ??4locale@std@@QEAAAEAV01@AEBV01@@Z # don't forward to msvcp90 -@ stub -arch=win32 ??4logic_error@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4logic_error@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4out_of_range@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z +@ thiscall -arch=win32 ??4logic_error@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_logic_error_assign +@ cdecl -arch=win64 ??4logic_error@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) MSVCP_logic_error_assign +@ thiscall -arch=win32 ??4out_of_range@std@@QAEAAV01@ABV01@@Z(ptr ptr) MSVCP_out_of_range_assign +@ cdecl -arch=win64 ??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z(ptr ptr) MSVCP_out_of_range_assign @ stub -arch=win32 ??4overflow_error@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4overflow_error@std@@QEAAAEAV01@AEBV01@@Z @ stub -arch=win32 ??4range_error@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4range_error@std@@QEAAAEAV01@AEBV01@@Z -@ stub -arch=win32 ??4runtime_error@std@@QAEAAV01@ABV01@@Z -@ stub -arch=win64 ??4runtime_error@std@@QEAAAEAV01@AEBV01@@Z +@ thiscall -arch=win32 ??4runtime_error@std@@QAEAAV01@ABV01@@Z(ptr) MSVCP_runtime_error_assign +@ thiscall -arch=win64 ??4runtime_error@std@@QEAAAEAV01@AEBV01@@Z(ptr) MSVCP_runtime_error_assign @ stub -arch=win32 ??4underflow_error@std@@QAEAAV01@ABV01@@Z @ stub -arch=win64 ??4underflow_error@std@@QEAAAEAV01@AEBV01@@Z @ stub -arch=win32 ??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAF@Z @@ -1814,7 +1814,7 @@ # extern ??_7?$time_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@6B@ # extern ??_7?$time_put@GV?$ostreambuf_iterator@GU?$char_traits@G@std@@@std@@@std@@6B@ # extern ??_7__non_rtti_object@std@@6B@ -# extern ??_7bad_alloc@std@@6B@ +@ extern ??_7bad_alloc@std@@6B@ MSVCP_bad_alloc_vtable # extern ??_7bad_cast@std@@6B@ # extern ??_7bad_exception@std@@6B@ # extern ??_7bad_typeid@std@@6B@ @@ -1823,14 +1823,14 @@ # extern ??_7domain_error@std@@6B@ # extern ??_7facet@locale@std@@6B@ # extern ??_7ios_base@std@@6B@ msvcp90.??_7ios_base@std@@6B@ # don't forward to msvcp90 -# extern ??_7length_error@std@@6B@ -# extern ??_7logic_error@std@@6B@ +@ extern ??_7length_error@std@@6B@ MSVCP_length_error_vtable +@ extern ??_7logic_error@std@@6B@ MSVCP_logic_error_vtable # extern ??_7messages_base@std@@6B@ # extern ??_7money_base@std@@6B@ -# extern ??_7out_of_range@std@@6B@ +@ extern ??_7out_of_range@std@@6B@ MSVCP_out_of_range_vtable # extern ??_7overflow_error@std@@6B@ # extern ??_7range_error@std@@6B@ -# extern ??_7runtime_error@std@@6B@ +@ extern ??_7runtime_error@std@@6B@ MSVCP_runtime_error_vtable # extern ??_7time_base@std@@6B@ # extern ??_7underflow_error@std@@6B@ # extern ??_8?$basic_fstream@DU?$char_traits@D@std@@@std@@7B?$basic_istream@DU?$char_traits@D@std@@@1@@ @@ -2027,8 +2027,8 @@ @ stub ?_Cosh@?$_Ctr@O@std@@SAOOO@Z @ stub -arch=win32 ?_Decref@facet@locale@std@@QAEPAV123@XZ # don't forward to msvcp90 @ stub -arch=win64 ?_Decref@facet@locale@std@@QEAAPEAV123@XZ # don't forward to msvcp90 -@ stub -arch=win32 ?_Doraise@bad_alloc@std@@MBEXXZ -@ stub -arch=win64 ?_Doraise@bad_alloc@std@@MEBAXXZ +@ thiscall -arch=win32 ?_Doraise@bad_alloc@std@@MBEXXZ(ptr) MSVCP_exception__Doraise +@ cdecl -arch=win64 ?_Doraise@bad_alloc@std@@MEBAXXZ(ptr) MSVCP_exception__Doraise @ stub -arch=win32 ?_Doraise@bad_cast@std@@MBEXXZ @ stub -arch=win64 ?_Doraise@bad_cast@std@@MEBAXXZ @ stub -arch=win32 ?_Doraise@bad_exception@std@@MBEXXZ @@ -2037,18 +2037,18 @@ @ stub -arch=win64 ?_Doraise@bad_typeid@std@@MEBAXXZ @ stub -arch=win32 ?_Doraise@domain_error@std@@MBEXXZ @ stub -arch=win64 ?_Doraise@domain_error@std@@MEBAXXZ -@ stub -arch=win32 ?_Doraise@length_error@std@@MBEXXZ -@ stub -arch=win64 ?_Doraise@length_error@std@@MEBAXXZ -@ stub -arch=win32 ?_Doraise@logic_error@std@@MBEXXZ -@ stub -arch=win64 ?_Doraise@logic_error@std@@MEBAXXZ -@ stub -arch=win32 ?_Doraise@out_of_range@std@@MBEXXZ -@ stub -arch=win64 ?_Doraise@out_of_range@std@@MEBAXXZ +@ thiscall -arch=win32 ?_Doraise@length_error@std@@MBEXXZ(ptr) MSVCP_exception__Doraise +@ cdecl -arch=win64 ?_Doraise@length_error@std@@MEBAXXZ(ptr) MSVCP_exception__Doraise +@ thiscall -arch=win32 ?_Doraise@logic_error@std@@MBEXXZ(ptr) MSVCP_exception__Doraise +@ cdecl -arch=win64 ?_Doraise@logic_error@std@@MEBAXXZ(ptr) MSVCP_exception__Doraise +@ thiscall -arch=win32 ?_Doraise@out_of_range@std@@MBEXXZ(ptr) MSVCP_exception__Doraise +@ cdecl -arch=win64 ?_Doraise@out_of_range@std@@MEBAXXZ(ptr) MSVCP_exception__Doraise @ stub -arch=win32 ?_Doraise@overflow_error@std@@MBEXXZ @ stub -arch=win64 ?_Doraise@overflow_error@std@@MEBAXXZ @ stub -arch=win32 ?_Doraise@range_error@std@@MBEXXZ @ stub -arch=win64 ?_Doraise@range_error@std@@MEBAXXZ -@ stub -arch=win32 ?_Doraise@runtime_error@std@@MBEXXZ -@ stub -arch=win64 ?_Doraise@runtime_error@std@@MEBAXXZ +@ thiscall -arch=win32 ?_Doraise@runtime_error@std@@MBEXXZ(ptr) MSVCP_exception__Doraise +@ cdecl -arch=win64 ?_Doraise@runtime_error@std@@MEBAXXZ(ptr) MSVCP_exception__Doraise @ stub -arch=win32 ?_Doraise@underflow_error@std@@MBEXXZ @ stub -arch=win64 ?_Doraise@underflow_error@std@@MEBAXXZ @ thiscall -arch=win32 ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEXI@Z(ptr long) basic_string_char__Eos @@ -4217,10 +4217,10 @@ # extern ?wcin@std@@3V?$basic_istream@GU?$char_traits@G@std@@@1@A # extern ?wclog@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A # extern ?wcout@std@@3V?$basic_ostream@GU?$char_traits@G@std@@@1@A -@ stub -arch=win32 ?what@logic_error@std@@UBEPBDXZ -@ stub -arch=win64 ?what@logic_error@std@@UEBAPEBDXZ -@ stub -arch=win32 ?what@runtime_error@std@@UBEPBDXZ -@ stub -arch=win64 ?what@runtime_error@std@@UEBAPEBDXZ +@ thiscall -arch=win32 ?what@logic_error@std@@UBEPBDXZ(ptr) MSVCP_logic_error_what +@ cdecl -arch=win64 ?what@logic_error@std@@UEBAPEBDXZ(ptr) MSVCP_logic_error_what +@ thiscall -arch=win32 ?what@runtime_error@std@@UBEPBDXZ(ptr) MSVCP_runtime_error_what +@ cdecl -arch=win64 ?what@runtime_error@std@@UEBAPEBDXZ(ptr) MSVCP_runtime_error_what @ stub -arch=win32 ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z # don't forward to msvcp90 @ stub -arch=win64 ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z # don't forward to msvcp90 @ stub -arch=win32 ?widen@?$basic_ios@GU?$char_traits@G@std@@@std@@QBEGD@Z