mirror of
https://github.com/reactos/reactos.git
synced 2025-06-27 04:19:43 +00:00
[CRT]
Implement thiscall wrapper for MSVC svn path=/branches/cmake-bringup/; revision=49838
This commit is contained in:
parent
b8702f60f7
commit
a916747152
2 changed files with 62 additions and 8 deletions
|
@ -65,14 +65,7 @@ typedef struct _rtti_object_locator
|
|||
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma message ("DEFINE_THISCALL_WRAPPER broken")
|
||||
#define DEFINE_THISCALL_WRAPPER(func,args) \
|
||||
extern void THISCALL(func)(void);
|
||||
// __ASM_GLOBAL_FUNC(__thiscall_ ## func, \
|
||||
// pop eax \
|
||||
// push ecx \
|
||||
// push eax \
|
||||
// jmp __ASM_NAME(#func) __ASM_STDCALL(args) )
|
||||
#include <internal/wine_msc.h>
|
||||
#else
|
||||
#define DEFINE_THISCALL_WRAPPER(func,args) \
|
||||
extern void THISCALL(func)(void); \
|
||||
|
@ -671,6 +664,7 @@ void * __stdcall MSVCRT_type_info_vector_dtor(type_info * _this, unsigned int fl
|
|||
|
||||
/* vtables */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifdef _WIN64
|
||||
|
||||
#define __ASM_VTABLE(name,funcs) \
|
||||
|
@ -714,6 +708,16 @@ __ASM_EXCEPTION_VTABLE(__non_rtti_object)
|
|||
#ifndef __GNUC__
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma message ("HAXX!")
|
||||
const vtable_ptr MSVCRT_exception_vtable;
|
||||
const vtable_ptr MSVCRT_bad_typeid_vtable;
|
||||
const vtable_ptr MSVCRT_bad_cast_vtable;
|
||||
const vtable_ptr MSVCRT___non_rtti_object_vtable;
|
||||
const vtable_ptr MSVCRT_type_info_vtable;
|
||||
#endif
|
||||
|
||||
/* Static RTTI for exported objects */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue