msvcrt: Use a __thiscall macro where appropriate to make the calling convention clearer.

This commit is contained in:
Alexandre Julliard 2010-08-24 16:31:25 +02:00
parent c6423058db
commit 14072676a6
6 changed files with 118 additions and 112 deletions

View file

@ -43,6 +43,7 @@ typedef struct {
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
@ -54,6 +55,7 @@ typedef struct {
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args) /* nothing */
#endif /* __i386__ */
@ -63,7 +65,7 @@ typedef struct {
* class ios & __thiscall ios::-ios<<(void)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_ios_sl_void,4)
void * __stdcall MSVCIRT_ios_sl_void(class_ios * _this)
void * __thiscall MSVCIRT_ios_sl_void(class_ios * _this)
{
FIXME("(%p) stub\n", _this);
return _this;
@ -74,7 +76,7 @@ void * __stdcall MSVCIRT_ios_sl_void(class_ios * _this)
* class ostream & __thiscall ostrstream::ostrstream<<(void)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_ostrstream_sl_void,4)
void * __stdcall MSVCIRT_ostrstream_sl_void(class_ostream * _this)
void * __thiscall MSVCIRT_ostrstream_sl_void(class_ostream * _this)
{
FIXME("(%p) stub\n", _this);
return _this;
@ -85,7 +87,7 @@ void * __stdcall MSVCIRT_ostrstream_sl_void(class_ostream * _this)
* class ostream & __thiscall ostream::operator<<(unsigned char)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_uchar,8)
void * __stdcall MSVCIRT_operator_sl_uchar(class_ostream * _this, unsigned char ch)
void * __thiscall MSVCIRT_operator_sl_uchar(class_ostream * _this, unsigned char ch)
{
FIXME("(%p)->(%c) stub\n", _this, ch);
return _this;
@ -96,7 +98,7 @@ void * __stdcall MSVCIRT_operator_sl_uchar(class_ostream * _this, unsigned char
* class ostream & __thiscall ostream::operator<<(int)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_int,8)
void * __stdcall MSVCIRT_operator_sl_int(class_ostream * _this, int integer)
void * __thiscall MSVCIRT_operator_sl_int(class_ostream * _this, int integer)
{
FIXME("(%p)->(%d) stub\n", _this, integer);
return _this;
@ -107,7 +109,7 @@ void * __stdcall MSVCIRT_operator_sl_int(class_ostream * _this, int integer)
* class ostream & __thiscall ostream::operator<<(char const *)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_pchar,8)
void * __stdcall MSVCIRT_operator_sl_pchar(class_ostream * _this, const char * string)
void * __thiscall MSVCIRT_operator_sl_pchar(class_ostream * _this, const char * string)
{
FIXME("(%p)->(%s) stub\n", _this, debugstr_a(string));
return _this;
@ -118,7 +120,7 @@ void * __stdcall MSVCIRT_operator_sl_pchar(class_ostream * _this, const char * s
* class ostream & __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream &))
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_callback,8)
void * __stdcall MSVCIRT_operator_sl_callback(class_ostream * _this, class_ostream * (__cdecl*func)(class_ostream*))
void * __thiscall MSVCIRT_operator_sl_callback(class_ostream * _this, class_ostream * (__cdecl*func)(class_ostream*))
{
TRACE("%p, %p\n", _this, func);
return func(_this);
@ -149,7 +151,7 @@ void * CDECL MSVCIRT_ends(class_ostream * _this)
* class strstreambuf & __thiscall strstreambuf::str(class strstreambuf &)
*/
DEFINE_THISCALL_WRAPPER(MSVCIRT_str_sl_void,4)
char * __stdcall MSVCIRT_str_sl_void(class_strstreambuf * _this)
char * __thiscall MSVCIRT_str_sl_void(class_strstreambuf * _this)
{
FIXME("(%p)->() stub\n", _this);
return 0;

View file

@ -112,7 +112,7 @@ static type_info exception_type_info = {
};
DEFINE_THISCALL_WRAPPER(MSVCP_exception_ctor, 8)
exception* __stdcall MSVCP_exception_ctor(exception *this, const char **name)
exception* __thiscall MSVCP_exception_ctor(exception *this, const char **name)
{
TRACE("(%p %s)\n", this, *name);
@ -130,7 +130,7 @@ exception* __stdcall MSVCP_exception_ctor(exception *this, const char **name)
}
DEFINE_THISCALL_WRAPPER(MSVCP_exception_copy_ctor,8)
exception* __stdcall MSVCP_exception_copy_ctor(exception *this, const exception *rhs)
exception* __thiscall MSVCP_exception_copy_ctor(exception *this, const exception *rhs)
{
TRACE("(%p,%p)\n", this, rhs);
@ -145,7 +145,7 @@ exception* __stdcall MSVCP_exception_copy_ctor(exception *this, const exception
}
DEFINE_THISCALL_WRAPPER(MSVCP_exception_dtor,4)
void __stdcall MSVCP_exception_dtor(exception *this)
void __thiscall MSVCP_exception_dtor(exception *this)
{
TRACE("(%p)\n", this);
this->vtable = exception_type_info.vtable;
@ -194,7 +194,7 @@ void set_exception_vtable(void)
typedef exception bad_alloc;
DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_ctor, 8)
bad_alloc* __stdcall 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);
MSVCP_exception_ctor(this, name);
@ -203,7 +203,7 @@ bad_alloc* __stdcall MSVCP_bad_alloc_ctor(bad_alloc *this, const char **name)
}
DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_copy_ctor, 8)
bad_alloc* __stdcall MSVCP_bad_alloc_copy_ctor(bad_alloc *this, const bad_alloc *rhs)
bad_alloc* __thiscall MSVCP_bad_alloc_copy_ctor(bad_alloc *this, const bad_alloc *rhs)
{
TRACE("%p %p\n", this, rhs);
MSVCP_exception_copy_ctor(this, rhs);
@ -212,14 +212,14 @@ bad_alloc* __stdcall MSVCP_bad_alloc_copy_ctor(bad_alloc *this, const bad_alloc
}
DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_dtor, 4)
void __stdcall MSVCP_bad_alloc_dtor(bad_alloc *this)
void __thiscall MSVCP_bad_alloc_dtor(bad_alloc *this)
{
TRACE("%p\n", this);
MSVCP_exception_dtor(this);
}
DEFINE_THISCALL_WRAPPER(MSVCP_bad_alloc_vector_dtor, 8)
void * __stdcall MSVCP_bad_alloc_vector_dtor(bad_alloc *this, unsigned int flags)
void * __thiscall MSVCP_bad_alloc_vector_dtor(bad_alloc *this, unsigned int flags)
{
TRACE("%p %x\n", this, flags);
if(flags & 2) {
@ -239,7 +239,7 @@ void * __stdcall MSVCP_bad_alloc_vector_dtor(bad_alloc *this, unsigned int flags
}
DEFINE_THISCALL_WRAPPER(MSVCP_what_exception,4)
const char* __stdcall MSVCP_what_exception(exception * this)
const char* __thiscall MSVCP_what_exception(exception * this)
{
TRACE("(%p) returning %s\n", this, this->name);
return this->name ? this->name : "Unknown exception";
@ -312,7 +312,7 @@ typedef struct _logic_error {
} logic_error;
DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_ctor, 8)
logic_error* __stdcall MSVCP_logic_error_ctor(
logic_error* __thiscall MSVCP_logic_error_ctor(
logic_error *this, const char **name)
{
TRACE("%p %s\n", this, *name);
@ -324,7 +324,7 @@ logic_error* __stdcall MSVCP_logic_error_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_copy_ctor, 8)
logic_error* __stdcall MSVCP_logic_error_copy_ctor(
logic_error* __thiscall MSVCP_logic_error_copy_ctor(
logic_error *this, logic_error *rhs)
{
TRACE("%p %p\n", this, rhs);
@ -335,7 +335,7 @@ logic_error* __stdcall MSVCP_logic_error_copy_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_dtor, 4)
void __stdcall MSVCP_logic_error_dtor(logic_error *this)
void __thiscall MSVCP_logic_error_dtor(logic_error *this)
{
TRACE("%p\n", this);
MSVCP_exception_dtor(&this->e);
@ -343,7 +343,7 @@ void __stdcall MSVCP_logic_error_dtor(logic_error *this)
}
DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_vector_dtor, 8)
void* __stdcall MSVCP_logic_error_vector_dtor(
void* __thiscall MSVCP_logic_error_vector_dtor(
logic_error *this, unsigned int flags)
{
TRACE("%p %x\n", this, flags);
@ -364,7 +364,7 @@ void* __stdcall MSVCP_logic_error_vector_dtor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_what, 4)
const char* __stdcall MSVCP_logic_error_what(logic_error *this)
const char* __thiscall MSVCP_logic_error_what(logic_error *this)
{
TRACE("%p\n", this);
return MSVCP_basic_string_char_c_str(&this->str);
@ -434,7 +434,7 @@ static const cxx_exception_type logic_error_cxx_type = {
typedef logic_error length_error;
DEFINE_THISCALL_WRAPPER(MSVCP_length_error_ctor, 8)
length_error* __stdcall MSVCP_length_error_ctor(
length_error* __thiscall MSVCP_length_error_ctor(
length_error *this, const char **name)
{
TRACE("%p %s\n", this, *name);
@ -444,7 +444,7 @@ length_error* __stdcall MSVCP_length_error_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_length_error_copy_ctor, 8)
length_error* __stdcall MSVCP_length_error_copy_ctor(
length_error* __thiscall MSVCP_length_error_copy_ctor(
length_error *this, length_error *rhs)
{
TRACE("%p %p\n", this, rhs);
@ -454,7 +454,7 @@ length_error* __stdcall MSVCP_length_error_copy_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_length_error_vector_dtor, 8)
void* __stdcall MSVCP_length_error_vector_dtor(
void* __thiscall MSVCP_length_error_vector_dtor(
length_error *this, unsigned int flags)
{
TRACE("%p %x\n", this, flags);
@ -525,7 +525,7 @@ static const cxx_exception_type length_error_cxx_type = {
typedef logic_error out_of_range;
DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_ctor, 8)
out_of_range* __stdcall MSVCP_out_of_range_ctor(
out_of_range* __thiscall MSVCP_out_of_range_ctor(
out_of_range *this, const char **name)
{
TRACE("%p %s\n", this, *name);
@ -535,7 +535,7 @@ out_of_range* __stdcall MSVCP_out_of_range_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_copy_ctor, 8)
out_of_range* __stdcall MSVCP_out_of_range_copy_ctor(
out_of_range* __thiscall MSVCP_out_of_range_copy_ctor(
out_of_range *this, out_of_range *rhs)
{
TRACE("%p %p\n", this, rhs);
@ -545,7 +545,7 @@ out_of_range* __stdcall MSVCP_out_of_range_copy_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_out_of_range_vector_dtor, 8)
void* __stdcall MSVCP_out_of_range_vector_dtor(
void* __thiscall MSVCP_out_of_range_vector_dtor(
out_of_range *this, unsigned int flags)
{
TRACE("%p %x\n", this, flags);
@ -616,7 +616,7 @@ static const cxx_exception_type out_of_range_cxx_type = {
typedef logic_error invalid_argument;
DEFINE_THISCALL_WRAPPER(MSVCP_invalid_argument_ctor, 8)
invalid_argument* __stdcall MSVCP_invalid_argument_ctor(
invalid_argument* __thiscall MSVCP_invalid_argument_ctor(
invalid_argument *this, const char **name)
{
TRACE("%p %s\n", this, *name);
@ -626,7 +626,7 @@ invalid_argument* __stdcall MSVCP_invalid_argument_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_invalid_argument_copy_ctor, 8)
invalid_argument* __stdcall MSVCP_invalid_argument_copy_ctor(
invalid_argument* __thiscall MSVCP_invalid_argument_copy_ctor(
invalid_argument *this, invalid_argument *rhs)
{
TRACE("%p %p\n", this, rhs);
@ -636,7 +636,7 @@ invalid_argument* __stdcall MSVCP_invalid_argument_copy_ctor(
}
DEFINE_THISCALL_WRAPPER(MSVCP_invalid_argument_vector_dtor, 8)
void* __stdcall MSVCP_invalid_argument_vector_dtor(
void* __thiscall MSVCP_invalid_argument_vector_dtor(
invalid_argument *this, unsigned int flags)
{
TRACE("%p %x\n", this, flags);

View file

@ -30,7 +30,7 @@
/* ?address@?$allocator@D@std@@QBEPADAAD@Z */
/* ?address@?$allocator@D@std@@QEBAPEADAEAD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_address, 8)
char* __stdcall MSVCP_allocator_char_address(void *this, char *ptr)
char* __thiscall MSVCP_allocator_char_address(void *this, char *ptr)
{
return ptr;
}
@ -38,7 +38,7 @@ char* __stdcall MSVCP_allocator_char_address(void *this, char *ptr)
/* ?address@?$allocator@D@std@@QBEPBDABD@Z */
/* ?address@?$allocator@D@std@@QEBAPEBDAEBD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_const_address, 8)
const char* __stdcall MSVCP_allocator_char_const_address(void *this, const char *ptr)
const char* __thiscall MSVCP_allocator_char_const_address(void *this, const char *ptr)
{
return ptr;
}
@ -46,7 +46,7 @@ const char* __stdcall MSVCP_allocator_char_const_address(void *this, const char
/* ??0?$allocator@D@std@@QAE@XZ */
/* ??0?$allocator@D@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_ctor, 4)
void* __stdcall MSVCP_allocator_char_ctor(void *this)
void* __thiscall MSVCP_allocator_char_ctor(void *this)
{
return this;
}
@ -54,7 +54,7 @@ void* __stdcall MSVCP_allocator_char_ctor(void *this)
/* ??0?$allocator@D@std@@QAE@ABV01@@Z */
/* ??0?$allocator@D@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_copy_ctor, 8)
void* __stdcall MSVCP_allocator_char_copy_ctor(void *this, void *copy)
void* __thiscall MSVCP_allocator_char_copy_ctor(void *this, void *copy)
{
return this;
}
@ -62,7 +62,7 @@ void* __stdcall MSVCP_allocator_char_copy_ctor(void *this, void *copy)
/* ??4?$allocator@D@std@@QAEAAV01@ABV01@@Z */
/* ??4?$allocator@D@std@@QEAAAEAV01@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_assign, 8);
void* __stdcall MSVCP_allocator_char_assign(void *this, void *assign)
void* __thiscall MSVCP_allocator_char_assign(void *this, void *assign)
{
return this;
}
@ -70,7 +70,7 @@ void* __stdcall MSVCP_allocator_char_assign(void *this, void *assign)
/* ?deallocate@?$allocator@D@std@@QAEXPADI@Z */
/* ?deallocate@?$allocator@D@std@@QEAAXPEAD_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_deallocate, 12);
void __stdcall MSVCP_allocator_char_deallocate(void *this, char *ptr, size_t size)
void __thiscall MSVCP_allocator_char_deallocate(void *this, char *ptr, size_t size)
{
MSVCRT_operator_delete(ptr);
}
@ -78,7 +78,7 @@ void __stdcall MSVCP_allocator_char_deallocate(void *this, char *ptr, size_t siz
/* ?allocate@?$allocator@D@std@@QAEPADI@Z */
/* ?allocate@?$allocator@D@std@@QEAAPEAD_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_allocate, 8);
char* __stdcall MSVCP_allocator_char_allocate(void *this, size_t count)
char* __thiscall MSVCP_allocator_char_allocate(void *this, size_t count)
{
return MSVCRT_operator_new(sizeof(char[count]));
}
@ -86,7 +86,7 @@ char* __stdcall MSVCP_allocator_char_allocate(void *this, size_t count)
/* ?allocate@?$allocator@D@std@@QAEPADIPBX@Z */
/* ?allocate@?$allocator@D@std@@QEAAPEAD_KPEBX@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_allocate_hint, 12);
char* __stdcall MSVCP_allocator_char_allocate_hint(void *this,
char* __thiscall MSVCP_allocator_char_allocate_hint(void *this,
size_t count, const void *hint)
{
/* Native ignores hint */
@ -96,7 +96,7 @@ char* __stdcall MSVCP_allocator_char_allocate_hint(void *this,
/* ?construct@?$allocator@D@std@@QAEXPADABD@Z */
/* ?construct@?$allocator@D@std@@QEAAXPEADAEBD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_construct, 12);
void __stdcall MSVCP_allocator_char_construct(void *this, char *ptr, const char *val)
void __thiscall MSVCP_allocator_char_construct(void *this, char *ptr, const char *val)
{
*ptr = *val;
}
@ -104,14 +104,14 @@ void __stdcall MSVCP_allocator_char_construct(void *this, char *ptr, const char
/* ?destroy@?$allocator@D@std@@QAEXPAD@Z */
/* ?destroy@?$allocator@D@std@@QEAAXPEAD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_destroy, 8);
void __stdcall MSVCP_allocator_char_destroy(void *this, char *ptr)
void __thiscall MSVCP_allocator_char_destroy(void *this, char *ptr)
{
}
/* ?max_size@?$allocator@D@std@@QBEIXZ */
/* ?max_size@?$allocator@D@std@@QEBA_KXZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_max_size, 4);
size_t __stdcall MSVCP_allocator_char_max_size(void *this)
size_t __thiscall MSVCP_allocator_char_max_size(void *this)
{
return UINT_MAX/sizeof(char);
}
@ -121,7 +121,7 @@ size_t __stdcall MSVCP_allocator_char_max_size(void *this)
/* ?address@?$allocator@_W@std@@QBEPA_WAA_W@Z */
/* ?address@?$allocator@_W@std@@QEBAPEA_WAEA_W@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_address, 8)
wchar_t* __stdcall MSVCP_allocator_wchar_address(void *this, wchar_t *ptr)
wchar_t* __thiscall MSVCP_allocator_wchar_address(void *this, wchar_t *ptr)
{
return ptr;
}
@ -129,7 +129,7 @@ wchar_t* __stdcall MSVCP_allocator_wchar_address(void *this, wchar_t *ptr)
/* ?address@?$allocator@_W@std@@QBEPB_WAB_W@Z */
/* ?address@?$allocator@_W@std@@QEBAPEB_WAEB_W@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_const_address, 8)
const wchar_t* __stdcall MSVCP_allocator_wchar_const_address(void *this, const wchar_t *ptr)
const wchar_t* __thiscall MSVCP_allocator_wchar_const_address(void *this, const wchar_t *ptr)
{
return ptr;
}
@ -137,7 +137,7 @@ const wchar_t* __stdcall MSVCP_allocator_wchar_const_address(void *this, const w
/* ??0?$allocator@_W@std@@QAE@XZ */
/* ??0?$allocator@_W@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_ctor, 4)
void* __stdcall MSVCP_allocator_wchar_ctor(void *this)
void* __thiscall MSVCP_allocator_wchar_ctor(void *this)
{
return this;
}
@ -145,7 +145,7 @@ void* __stdcall MSVCP_allocator_wchar_ctor(void *this)
/* ??0?$allocator@_W@std@@QAE@ABV01@@Z */
/* ??0?$allocator@_W@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_copy_ctor, 8)
void* __stdcall MSVCP_allocator_wchar_copy_ctor(void *this, void *copy)
void* __thiscall MSVCP_allocator_wchar_copy_ctor(void *this, void *copy)
{
return this;
}
@ -153,7 +153,7 @@ void* __stdcall MSVCP_allocator_wchar_copy_ctor(void *this, void *copy)
/* ??4?$allocator@_W@std@@QAEAAV01@ABV01@@Z */
/* ??4?$allocator@_W@std@@QEAAAEAV01@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_assign, 8)
void* __stdcall MSVCP_allocator_wchar_assign(void *this, void *assign)
void* __thiscall MSVCP_allocator_wchar_assign(void *this, void *assign)
{
return this;
}
@ -161,7 +161,7 @@ void* __stdcall MSVCP_allocator_wchar_assign(void *this, void *assign)
/* ?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z */
/* ?deallocate@?$allocator@_W@std@@QEAAXPEA_W_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_deallocate, 12)
void __stdcall MSVCP_allocator_wchar_deallocate(void *this,
void __thiscall MSVCP_allocator_wchar_deallocate(void *this,
wchar_t *ptr, size_t size)
{
MSVCRT_operator_delete(ptr);
@ -170,7 +170,7 @@ void __stdcall MSVCP_allocator_wchar_deallocate(void *this,
/* ?allocate@?$allocator@_W@std@@QAEPA_WI@Z */
/* ?allocate@?$allocator@_W@std@@QEAAPEA_W_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_allocate, 8)
wchar_t* __stdcall MSVCP_allocator_wchar_allocate(void *this, size_t count)
wchar_t* __thiscall MSVCP_allocator_wchar_allocate(void *this, size_t count)
{
if(UINT_MAX/count < sizeof(wchar_t)) {
throw_exception(EXCEPTION_BAD_ALLOC, NULL);
@ -183,7 +183,7 @@ wchar_t* __stdcall MSVCP_allocator_wchar_allocate(void *this, size_t count)
/* ?allocate@?$allocator@_W@std@@QAEPA_WIPBX@Z */
/* ?allocate@?$allocator@_W@std@@QEAAPEA_W_KPEBX@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_allocate_hint, 12)
wchar_t* __stdcall MSVCP_allocator_wchar_allocate_hint(void *this,
wchar_t* __thiscall MSVCP_allocator_wchar_allocate_hint(void *this,
size_t count, const void *hint)
{
return MSVCP_allocator_wchar_allocate(this, count);
@ -192,7 +192,7 @@ wchar_t* __stdcall MSVCP_allocator_wchar_allocate_hint(void *this,
/* ?construct@?$allocator@_W@std@@QAEXPA_WAB_W@Z */
/* ?construct@?$allocator@_W@std@@QEAAXPEA_WAEB_W@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_construct, 12)
void __stdcall MSVCP_allocator_wchar_construct(void *this,
void __thiscall MSVCP_allocator_wchar_construct(void *this,
wchar_t *ptr, const wchar_t *val)
{
*ptr = *val;
@ -201,14 +201,14 @@ void __stdcall MSVCP_allocator_wchar_construct(void *this,
/* ?destroy@?$allocator@_W@std@@QAEXPA_W@Z */
/* ?destroy@?$allocator@_W@std@@QEAAXPEA_W@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_destroy, 8)
void __stdcall MSVCP_allocator_wchar_destroy(void *this, char *ptr)
void __thiscall MSVCP_allocator_wchar_destroy(void *this, char *ptr)
{
}
/* ?max_size@?$allocator@_W@std@@QBEIXZ */
/* ?max_size@?$allocator@_W@std@@QEBA_KXZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_wchar_max_size, 4)
size_t __stdcall MSVCP_allocator_wchar_max_size(void *this)
size_t __thiscall MSVCP_allocator_wchar_max_size(void *this)
{
return UINT_MAX/sizeof(wchar_t);
}
@ -217,7 +217,7 @@ size_t __stdcall MSVCP_allocator_wchar_max_size(void *this)
/* ?address@?$allocator@G@std@@QBEPAGAAG@Z */
/* ?address@?$allocator@G@std@@QEBAPEAGAEAG@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_address, 8)
unsigned short* __stdcall MSVCP_allocator_short_address(
unsigned short* __thiscall MSVCP_allocator_short_address(
void *this, unsigned short *ptr)
{
return ptr;
@ -226,7 +226,7 @@ unsigned short* __stdcall MSVCP_allocator_short_address(
/* ?address@?$allocator@G@std@@QBEPBGABG@Z */
/* ?address@?$allocator@G@std@@QEBAPEBGAEBG@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_const_address, 8)
const unsigned short* __stdcall MSVCP_allocator_short_const_address(
const unsigned short* __thiscall MSVCP_allocator_short_const_address(
void *this, const unsigned short *ptr)
{
return ptr;
@ -235,7 +235,7 @@ const unsigned short* __stdcall MSVCP_allocator_short_const_address(
/* ??0?$allocator@G@std@@QAE@XZ */
/* ??0?$allocator@G@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_ctor, 4)
void* __stdcall MSVCP_allocator_short_ctor(void *this)
void* __thiscall MSVCP_allocator_short_ctor(void *this)
{
return this;
}
@ -243,7 +243,7 @@ void* __stdcall MSVCP_allocator_short_ctor(void *this)
/* ??0?$allocator@G@std@@QAE@ABV01@@Z */
/* ??0?$allocator@G@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_copy_ctor, 8)
void* __stdcall MSVCP_allocator_short_copy_ctor(void *this, void *copy)
void* __thiscall MSVCP_allocator_short_copy_ctor(void *this, void *copy)
{
return this;
}
@ -251,7 +251,7 @@ void* __stdcall MSVCP_allocator_short_copy_ctor(void *this, void *copy)
/* ??4?$allocator@G@std@@QAEAAV01@ABV01@@Z */
/* ??4?$allocator@G@std@@QEAAAEAV01@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_assign, 8)
void* __stdcall MSVCP_allocator_short_assign(void *this, void *assign)
void* __thiscall MSVCP_allocator_short_assign(void *this, void *assign)
{
return this;
}
@ -259,7 +259,7 @@ void* __stdcall MSVCP_allocator_short_assign(void *this, void *assign)
/* ?deallocate@?$allocator@G@std@@QAEXPAGI@Z */
/* ?deallocate@?$allocator@G@std@@QEAAXPEAG_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_deallocate, 12)
void __stdcall MSVCP_allocator_short_deallocate(void *this,
void __thiscall MSVCP_allocator_short_deallocate(void *this,
unsigned short *ptr, size_t size)
{
MSVCRT_operator_delete(ptr);
@ -268,7 +268,7 @@ void __stdcall MSVCP_allocator_short_deallocate(void *this,
/* ?allocate@?$allocator@G@std@@QAEPAGI@Z */
/* ?allocate@?$allocator@G@std@@QEAAPEAG_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_allocate, 8)
unsigned short* __stdcall MSVCP_allocator_short_allocate(
unsigned short* __thiscall MSVCP_allocator_short_allocate(
void *this, size_t count)
{
if(UINT_MAX/count < sizeof(unsigned short)) {
@ -282,7 +282,7 @@ unsigned short* __stdcall MSVCP_allocator_short_allocate(
/* ?allocate@?$allocator@G@std@@QAEPAGIPBX@Z */
/* ?allocate@?$allocator@G@std@@QEAAPEAG_KPEBX@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_allocate_hint, 12)
unsigned short* __stdcall MSVCP_allocator_short_allocate_hint(
unsigned short* __thiscall MSVCP_allocator_short_allocate_hint(
void *this, size_t count, const void *hint)
{
return MSVCP_allocator_short_allocate(this, count);
@ -291,7 +291,7 @@ unsigned short* __stdcall MSVCP_allocator_short_allocate_hint(
/* ?construct@?$allocator@G@std@@QAEXPAGABG@Z */
/* ?construct@?$allocator@G@std@@QEAAXPEAGAEBG@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_construct, 12)
void __stdcall MSVCP_allocator_short_construct(void *this,
void __thiscall MSVCP_allocator_short_construct(void *this,
unsigned short *ptr, unsigned short *val)
{
*ptr = *val;
@ -300,14 +300,14 @@ void __stdcall MSVCP_allocator_short_construct(void *this,
/* ?destroy@?$allocator@G@std@@QAEXPAG@Z */
/* ?destroy@?$allocator@G@std@@QEAAXPEAG@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_destroy, 8)
void __stdcall MSVCP_allocator_short_destroy(void *this, size_t *ptr)
void __thiscall MSVCP_allocator_short_destroy(void *this, size_t *ptr)
{
}
/* ?max_size@?$allocator@G@std@@QBEIXZ */
/* ?max_size@?$allocator@G@std@@QEBA_KXZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_short_max_size, 4)
size_t __stdcall MSVCP_allocator_short_max_size(void *this)
size_t __thiscall MSVCP_allocator_short_max_size(void *this)
{
return UINT_MAX/sizeof(unsigned short);
}
@ -316,7 +316,7 @@ size_t __stdcall MSVCP_allocator_short_max_size(void *this)
/* ??0?$allocator@X@std@@QAE@XZ */
/* ??0?$allocator@X@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_ctor, 4);
void* __stdcall MSVCP_allocator_void_ctor(void *this)
void* __thiscall MSVCP_allocator_void_ctor(void *this)
{
return this;
}
@ -324,7 +324,7 @@ void* __stdcall MSVCP_allocator_void_ctor(void *this)
/* ??0?$allocator@X@std@@QAE@ABV01@@Z */
/* ??0?$allocator@X@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_copy_ctor, 8);
void* __stdcall MSVCP_allocator_void_copy_ctor(void *this, void *copy)
void* __thiscall MSVCP_allocator_void_copy_ctor(void *this, void *copy)
{
return this;
}
@ -332,7 +332,7 @@ void* __stdcall MSVCP_allocator_void_copy_ctor(void *this, void *copy)
/* ??4?$allocator@X@std@@QAEAAV01@ABV01@@Z */
/* ??4?$allocator@X@std@@QEAAAEAV01@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_allocator_void_assign, 8);
void* __stdcall MSVCP_allocator_void_assign(void *this, void *assign)
void* __thiscall MSVCP_allocator_void_assign(void *this, void *assign)
{
return this;
}

View file

@ -32,6 +32,7 @@ extern void (__cdecl *MSVCRT_operator_delete)(void*);
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
@ -43,6 +44,7 @@ extern void (__cdecl *MSVCRT_operator_delete)(void*);
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args) /* nothing */
#endif /* __i386__ */

View file

@ -592,7 +592,7 @@ static MSVCP_BOOL basic_string_char_grow(
/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z */
/* ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@_K0@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_erase, 12)
basic_string_char* __stdcall MSVCP_basic_string_char_erase(
basic_string_char* __thiscall MSVCP_basic_string_char_erase(
basic_string_char *this, size_t pos, size_t len)
{
TRACE("%p %d %d\n", this, pos, len);
@ -618,7 +618,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_erase(
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z */
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@_K1@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_substr, 16)
basic_string_char* __stdcall MSVCP_basic_string_char_assign_substr(
basic_string_char* __thiscall MSVCP_basic_string_char_assign_substr(
basic_string_char *this, const basic_string_char *assign,
size_t pos, size_t len)
{
@ -647,7 +647,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_assign_substr(
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z */
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@AEBV12@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign, 8)
basic_string_char* __stdcall MSVCP_basic_string_char_assign(
basic_string_char* __thiscall MSVCP_basic_string_char_assign(
basic_string_char *this, const basic_string_char *assign)
{
return MSVCP_basic_string_char_assign_substr(this, assign,
@ -657,7 +657,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_assign(
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z */
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD_K@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_cstr_len, 12)
basic_string_char* __stdcall MSVCP_basic_string_char_assign_cstr_len(
basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr_len(
basic_string_char *this, const char *str, size_t len)
{
TRACE("%p %s %d\n", this, debugstr_a(str), len);
@ -677,7 +677,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_assign_cstr_len(
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z */
/* ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAAAEAV12@PEBD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_assign_cstr, 8)
basic_string_char* __stdcall MSVCP_basic_string_char_assign_cstr(
basic_string_char* __thiscall MSVCP_basic_string_char_assign_cstr(
basic_string_char *this, const char *str)
{
return MSVCP_basic_string_char_assign_cstr_len(this, str,
@ -687,7 +687,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_assign_cstr(
/* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ */
/* ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEBAPEBDXZ */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_c_str, 4)
const char* __stdcall MSVCP_basic_string_char_c_str(basic_string_char *this)
const char* __thiscall MSVCP_basic_string_char_c_str(basic_string_char *this)
{
TRACE("%p\n", this);
return basic_string_char_const_ptr(this);
@ -696,7 +696,7 @@ const char* __stdcall MSVCP_basic_string_char_c_str(basic_string_char *this)
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ */
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor, 4)
basic_string_char* __stdcall MSVCP_basic_string_char_ctor(basic_string_char *this)
basic_string_char* __thiscall MSVCP_basic_string_char_ctor(basic_string_char *this)
{
TRACE("%p\n", this);
@ -707,7 +707,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_ctor(basic_string_char *thi
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z */
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_copy_ctor, 8)
basic_string_char* __stdcall MSVCP_basic_string_char_copy_ctor(
basic_string_char* __thiscall MSVCP_basic_string_char_copy_ctor(
basic_string_char *this, const basic_string_char *copy)
{
TRACE("%p %p\n", this, copy);
@ -720,7 +720,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_copy_ctor(
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z */
/* ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD@Z */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_ctor_cstr, 8)
basic_string_char* __stdcall MSVCP_basic_string_char_ctor_cstr(
basic_string_char* __thiscall MSVCP_basic_string_char_ctor_cstr(
basic_string_char *this, const char *str)
{
TRACE("%p %s\n", this, debugstr_a(str));
@ -733,7 +733,7 @@ basic_string_char* __stdcall MSVCP_basic_string_char_ctor_cstr(
/* ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ */
/* ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER(MSVCP_basic_string_char_dtor, 4)
void __stdcall MSVCP_basic_string_char_dtor(basic_string_char *this)
void __thiscall MSVCP_basic_string_char_dtor(basic_string_char *this)
{
TRACE("%p\n", this);
basic_string_char_tidy(this, TRUE, 0);

View file

@ -73,6 +73,7 @@ typedef struct _rtti_object_locator
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
@ -84,6 +85,7 @@ typedef struct _rtti_object_locator
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args) /* nothing */
#endif /* __i386__ */
@ -152,7 +154,7 @@ static void EXCEPTION_ctor(exception *_this, const char** name)
* ??0exception@@QAE@ABQBD@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_ctor,8)
exception * __stdcall MSVCRT_exception_ctor(exception * _this, const char ** name)
exception * __thiscall MSVCRT_exception_ctor(exception * _this, const char ** name)
{
TRACE("(%p,%s)\n", _this, *name);
EXCEPTION_ctor(_this, name);
@ -163,7 +165,7 @@ exception * __stdcall MSVCRT_exception_ctor(exception * _this, const char ** nam
* ??0exception@@QAE@ABQBDH@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_ctor_noalloc,12)
exception * __stdcall MSVCRT_exception_ctor_noalloc(exception * _this, char ** name, int noalloc)
exception * __thiscall MSVCRT_exception_ctor_noalloc(exception * _this, char ** name, int noalloc)
{
TRACE("(%p,%s)\n", _this, *name);
_this->vtable = &MSVCRT_exception_vtable;
@ -176,7 +178,7 @@ exception * __stdcall MSVCRT_exception_ctor_noalloc(exception * _this, char ** n
* ??0exception@@QAE@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_copy_ctor,8)
exception * __stdcall MSVCRT_exception_copy_ctor(exception * _this, const exception * rhs)
exception * __thiscall MSVCRT_exception_copy_ctor(exception * _this, const exception * rhs)
{
TRACE("(%p,%p)\n", _this, rhs);
@ -196,7 +198,7 @@ exception * __stdcall MSVCRT_exception_copy_ctor(exception * _this, const except
* ??0exception@@QAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_default_ctor,4)
exception * __stdcall MSVCRT_exception_default_ctor(exception * _this)
exception * __thiscall MSVCRT_exception_default_ctor(exception * _this)
{
static const char* empty = NULL;
@ -209,7 +211,7 @@ exception * __stdcall MSVCRT_exception_default_ctor(exception * _this)
* ??1exception@@UAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_dtor,4)
void __stdcall MSVCRT_exception_dtor(exception * _this)
void __thiscall MSVCRT_exception_dtor(exception * _this)
{
TRACE("(%p)\n", _this);
_this->vtable = &MSVCRT_exception_vtable;
@ -220,7 +222,7 @@ void __stdcall MSVCRT_exception_dtor(exception * _this)
* ??4exception@@QAEAAV0@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_opequals,8)
exception * __stdcall MSVCRT_exception_opequals(exception * _this, const exception * rhs)
exception * __thiscall MSVCRT_exception_opequals(exception * _this, const exception * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
if (_this != rhs)
@ -236,7 +238,7 @@ exception * __stdcall MSVCRT_exception_opequals(exception * _this, const excepti
* ??_Eexception@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_vector_dtor,8)
void * __stdcall MSVCRT_exception_vector_dtor(exception * _this, unsigned int flags)
void * __thiscall MSVCRT_exception_vector_dtor(exception * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
if (flags & 2)
@ -259,7 +261,7 @@ void * __stdcall MSVCRT_exception_vector_dtor(exception * _this, unsigned int fl
* ??_Gexception@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_exception_scalar_dtor,8)
void * __stdcall MSVCRT_exception_scalar_dtor(exception * _this, unsigned int flags)
void * __thiscall MSVCRT_exception_scalar_dtor(exception * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
MSVCRT_exception_dtor(_this);
@ -271,7 +273,7 @@ void * __stdcall MSVCRT_exception_scalar_dtor(exception * _this, unsigned int fl
* ?what@exception@@UBEPBDXZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_what_exception,4)
const char * __stdcall MSVCRT_what_exception(exception * _this)
const char * __thiscall MSVCRT_what_exception(exception * _this)
{
TRACE("(%p) returning %s\n", _this, _this->name);
return _this->name ? _this->name : "Unknown exception";
@ -281,7 +283,7 @@ const char * __stdcall MSVCRT_what_exception(exception * _this)
* ??0bad_typeid@@QAE@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_copy_ctor,8)
bad_typeid * __stdcall MSVCRT_bad_typeid_copy_ctor(bad_typeid * _this, const bad_typeid * rhs)
bad_typeid * __thiscall MSVCRT_bad_typeid_copy_ctor(bad_typeid * _this, const bad_typeid * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
MSVCRT_exception_copy_ctor(_this, rhs);
@ -293,7 +295,7 @@ bad_typeid * __stdcall MSVCRT_bad_typeid_copy_ctor(bad_typeid * _this, const bad
* ??0bad_typeid@@QAE@PBD@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_ctor,8)
bad_typeid * __stdcall MSVCRT_bad_typeid_ctor(bad_typeid * _this, const char * name)
bad_typeid * __thiscall MSVCRT_bad_typeid_ctor(bad_typeid * _this, const char * name)
{
TRACE("(%p %s)\n", _this, name);
EXCEPTION_ctor(_this, &name);
@ -305,7 +307,7 @@ bad_typeid * __stdcall MSVCRT_bad_typeid_ctor(bad_typeid * _this, const char * n
* ??_Fbad_typeid@@QAEXXZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_default_ctor,4)
bad_typeid * __stdcall MSVCRT_bad_typeid_default_ctor(bad_typeid * _this)
bad_typeid * __thiscall MSVCRT_bad_typeid_default_ctor(bad_typeid * _this)
{
return MSVCRT_bad_typeid_ctor( _this, "bad typeid" );
}
@ -314,7 +316,7 @@ bad_typeid * __stdcall MSVCRT_bad_typeid_default_ctor(bad_typeid * _this)
* ??1bad_typeid@@UAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_dtor,4)
void __stdcall MSVCRT_bad_typeid_dtor(bad_typeid * _this)
void __thiscall MSVCRT_bad_typeid_dtor(bad_typeid * _this)
{
TRACE("(%p)\n", _this);
MSVCRT_exception_dtor(_this);
@ -324,7 +326,7 @@ void __stdcall MSVCRT_bad_typeid_dtor(bad_typeid * _this)
* ??4bad_typeid@@QAEAAV0@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_opequals,8)
bad_typeid * __stdcall MSVCRT_bad_typeid_opequals(bad_typeid * _this, const bad_typeid * rhs)
bad_typeid * __thiscall MSVCRT_bad_typeid_opequals(bad_typeid * _this, const bad_typeid * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
MSVCRT_exception_opequals(_this, rhs);
@ -335,7 +337,7 @@ bad_typeid * __stdcall MSVCRT_bad_typeid_opequals(bad_typeid * _this, const bad_
* ??_Ebad_typeid@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_vector_dtor,8)
void * __stdcall MSVCRT_bad_typeid_vector_dtor(bad_typeid * _this, unsigned int flags)
void * __thiscall MSVCRT_bad_typeid_vector_dtor(bad_typeid * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
if (flags & 2)
@ -358,7 +360,7 @@ void * __stdcall MSVCRT_bad_typeid_vector_dtor(bad_typeid * _this, unsigned int
* ??_Gbad_typeid@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_typeid_scalar_dtor,8)
void * __stdcall MSVCRT_bad_typeid_scalar_dtor(bad_typeid * _this, unsigned int flags)
void * __thiscall MSVCRT_bad_typeid_scalar_dtor(bad_typeid * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
MSVCRT_bad_typeid_dtor(_this);
@ -370,7 +372,7 @@ void * __stdcall MSVCRT_bad_typeid_scalar_dtor(bad_typeid * _this, unsigned int
* ??0__non_rtti_object@@QAE@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_copy_ctor,8)
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_copy_ctor(__non_rtti_object * _this,
__non_rtti_object * __thiscall MSVCRT___non_rtti_object_copy_ctor(__non_rtti_object * _this,
const __non_rtti_object * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
@ -383,7 +385,7 @@ __non_rtti_object * __stdcall MSVCRT___non_rtti_object_copy_ctor(__non_rtti_obje
* ??0__non_rtti_object@@QAE@PBD@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_ctor,8)
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_ctor(__non_rtti_object * _this,
__non_rtti_object * __thiscall MSVCRT___non_rtti_object_ctor(__non_rtti_object * _this,
const char * name)
{
TRACE("(%p %s)\n", _this, name);
@ -396,7 +398,7 @@ __non_rtti_object * __stdcall MSVCRT___non_rtti_object_ctor(__non_rtti_object *
* ??1__non_rtti_object@@UAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_dtor,4)
void __stdcall MSVCRT___non_rtti_object_dtor(__non_rtti_object * _this)
void __thiscall MSVCRT___non_rtti_object_dtor(__non_rtti_object * _this)
{
TRACE("(%p)\n", _this);
MSVCRT_bad_typeid_dtor(_this);
@ -406,7 +408,7 @@ void __stdcall MSVCRT___non_rtti_object_dtor(__non_rtti_object * _this)
* ??4__non_rtti_object@@QAEAAV0@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_opequals,8)
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_opequals(__non_rtti_object * _this,
__non_rtti_object * __thiscall MSVCRT___non_rtti_object_opequals(__non_rtti_object * _this,
const __non_rtti_object *rhs)
{
TRACE("(%p %p)\n", _this, rhs);
@ -418,7 +420,7 @@ __non_rtti_object * __stdcall MSVCRT___non_rtti_object_opequals(__non_rtti_objec
* ??_E__non_rtti_object@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_vector_dtor,8)
void * __stdcall MSVCRT___non_rtti_object_vector_dtor(__non_rtti_object * _this, unsigned int flags)
void * __thiscall MSVCRT___non_rtti_object_vector_dtor(__non_rtti_object * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
if (flags & 2)
@ -441,7 +443,7 @@ void * __stdcall MSVCRT___non_rtti_object_vector_dtor(__non_rtti_object * _this,
* ??_G__non_rtti_object@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT___non_rtti_object_scalar_dtor,8)
void * __stdcall MSVCRT___non_rtti_object_scalar_dtor(__non_rtti_object * _this, unsigned int flags)
void * __thiscall MSVCRT___non_rtti_object_scalar_dtor(__non_rtti_object * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
MSVCRT___non_rtti_object_dtor(_this);
@ -454,7 +456,7 @@ void * __stdcall MSVCRT___non_rtti_object_scalar_dtor(__non_rtti_object * _this,
* ??0bad_cast@@QAE@ABQBD@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_ctor,8)
bad_cast * __stdcall MSVCRT_bad_cast_ctor(bad_cast * _this, const char ** name)
bad_cast * __thiscall MSVCRT_bad_cast_ctor(bad_cast * _this, const char ** name)
{
TRACE("(%p %s)\n", _this, *name);
EXCEPTION_ctor(_this, name);
@ -466,7 +468,7 @@ bad_cast * __stdcall MSVCRT_bad_cast_ctor(bad_cast * _this, const char ** name)
* ??0bad_cast@@QAE@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_copy_ctor,8)
bad_cast * __stdcall MSVCRT_bad_cast_copy_ctor(bad_cast * _this, const bad_cast * rhs)
bad_cast * __thiscall MSVCRT_bad_cast_copy_ctor(bad_cast * _this, const bad_cast * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
MSVCRT_exception_copy_ctor(_this, rhs);
@ -478,7 +480,7 @@ bad_cast * __stdcall MSVCRT_bad_cast_copy_ctor(bad_cast * _this, const bad_cast
* ??0bad_cast@@QAE@PBD@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_ctor_charptr,8)
bad_cast * __stdcall MSVCRT_bad_cast_ctor_charptr(bad_cast * _this, const char * name)
bad_cast * __thiscall MSVCRT_bad_cast_ctor_charptr(bad_cast * _this, const char * name)
{
TRACE("(%p %s)\n", _this, name);
EXCEPTION_ctor(_this, &name);
@ -490,7 +492,7 @@ bad_cast * __stdcall MSVCRT_bad_cast_ctor_charptr(bad_cast * _this, const char *
* ??_Fbad_cast@@QAEXXZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_default_ctor,4)
bad_cast * __stdcall MSVCRT_bad_cast_default_ctor(bad_cast * _this)
bad_cast * __thiscall MSVCRT_bad_cast_default_ctor(bad_cast * _this)
{
return MSVCRT_bad_cast_ctor_charptr( _this, "bad cast" );
}
@ -499,7 +501,7 @@ bad_cast * __stdcall MSVCRT_bad_cast_default_ctor(bad_cast * _this)
* ??1bad_cast@@UAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_dtor,4)
void __stdcall MSVCRT_bad_cast_dtor(bad_cast * _this)
void __thiscall MSVCRT_bad_cast_dtor(bad_cast * _this)
{
TRACE("(%p)\n", _this);
MSVCRT_exception_dtor(_this);
@ -509,7 +511,7 @@ void __stdcall MSVCRT_bad_cast_dtor(bad_cast * _this)
* ??4bad_cast@@QAEAAV0@ABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_opequals,8)
bad_cast * __stdcall MSVCRT_bad_cast_opequals(bad_cast * _this, const bad_cast * rhs)
bad_cast * __thiscall MSVCRT_bad_cast_opequals(bad_cast * _this, const bad_cast * rhs)
{
TRACE("(%p %p)\n", _this, rhs);
MSVCRT_exception_opequals(_this, rhs);
@ -520,7 +522,7 @@ bad_cast * __stdcall MSVCRT_bad_cast_opequals(bad_cast * _this, const bad_cast *
* ??_Ebad_cast@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_vector_dtor,8)
void * __stdcall MSVCRT_bad_cast_vector_dtor(bad_cast * _this, unsigned int flags)
void * __thiscall MSVCRT_bad_cast_vector_dtor(bad_cast * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
if (flags & 2)
@ -543,7 +545,7 @@ void * __stdcall MSVCRT_bad_cast_vector_dtor(bad_cast * _this, unsigned int flag
* ??_Gbad_cast@@UAEPAXI@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_bad_cast_scalar_dtor,8)
void * __stdcall MSVCRT_bad_cast_scalar_dtor(bad_cast * _this, unsigned int flags)
void * __thiscall MSVCRT_bad_cast_scalar_dtor(bad_cast * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
MSVCRT_bad_cast_dtor(_this);
@ -555,7 +557,7 @@ void * __stdcall MSVCRT_bad_cast_scalar_dtor(bad_cast * _this, unsigned int flag
* ??8type_info@@QBEHABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_opequals_equals,8)
int __stdcall MSVCRT_type_info_opequals_equals(type_info * _this, const type_info * rhs)
int __thiscall MSVCRT_type_info_opequals_equals(type_info * _this, const type_info * rhs)
{
int ret = !strcmp(_this->mangled + 1, rhs->mangled + 1);
TRACE("(%p %p) returning %d\n", _this, rhs, ret);
@ -566,7 +568,7 @@ int __stdcall MSVCRT_type_info_opequals_equals(type_info * _this, const type_inf
* ??9type_info@@QBEHABV0@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_opnot_equals,8)
int __stdcall MSVCRT_type_info_opnot_equals(type_info * _this, const type_info * rhs)
int __thiscall MSVCRT_type_info_opnot_equals(type_info * _this, const type_info * rhs)
{
int ret = !!strcmp(_this->mangled + 1, rhs->mangled + 1);
TRACE("(%p %p) returning %d\n", _this, rhs, ret);
@ -577,7 +579,7 @@ int __stdcall MSVCRT_type_info_opnot_equals(type_info * _this, const type_info *
* ?before@type_info@@QBEHABV1@@Z (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_before,8)
int __stdcall MSVCRT_type_info_before(type_info * _this, const type_info * rhs)
int __thiscall MSVCRT_type_info_before(type_info * _this, const type_info * rhs)
{
int ret = strcmp(_this->mangled + 1, rhs->mangled + 1) < 0;
TRACE("(%p %p) returning %d\n", _this, rhs, ret);
@ -588,7 +590,7 @@ int __stdcall MSVCRT_type_info_before(type_info * _this, const type_info * rhs)
* ??1type_info@@UAE@XZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_dtor,4)
void __stdcall MSVCRT_type_info_dtor(type_info * _this)
void __thiscall MSVCRT_type_info_dtor(type_info * _this)
{
TRACE("(%p)\n", _this);
MSVCRT_free(_this->name);
@ -598,7 +600,7 @@ void __stdcall MSVCRT_type_info_dtor(type_info * _this)
* ?name@type_info@@QBEPBDXZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_name,4)
const char * __stdcall MSVCRT_type_info_name(type_info * _this)
const char * __thiscall MSVCRT_type_info_name(type_info * _this)
{
if (!_this->name)
{
@ -639,7 +641,7 @@ const char * __stdcall MSVCRT_type_info_name(type_info * _this)
* ?raw_name@type_info@@QBEPBDXZ (MSVCRT.@)
*/
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_raw_name,4)
const char * __stdcall MSVCRT_type_info_raw_name(type_info * _this)
const char * __thiscall MSVCRT_type_info_raw_name(type_info * _this)
{
TRACE("(%p) returning %s\n", _this, _this->mangled);
return _this->mangled;
@ -647,7 +649,7 @@ const char * __stdcall MSVCRT_type_info_raw_name(type_info * _this)
/* Unexported */
DEFINE_THISCALL_WRAPPER(MSVCRT_type_info_vector_dtor,8)
void * __stdcall MSVCRT_type_info_vector_dtor(type_info * _this, unsigned int flags)
void * __thiscall MSVCRT_type_info_vector_dtor(type_info * _this, unsigned int flags)
{
TRACE("(%p %x)\n", _this, flags);
if (flags & 2)