msvcp90: Removed __ASM_EXCEPTION_VTABLE macro.

This commit is contained in:
Piotr Caban 2011-12-15 10:16:08 +01:00 committed by Alexandre Julliard
parent dc8467fefe
commit 07a9909cca
2 changed files with 10 additions and 17 deletions

View File

@ -61,17 +61,6 @@ typedef struct __cxx_exception_type
void WINAPI _CxxThrowException(exception*,const cxx_exception_type*);
/* vtables */
#ifdef _WIN64
#define __ASM_EXCEPTION_VTABLE(name, what_func) \
__ASM_VTABLE(name, "\t.quad " THISCALL_NAME(what_func) )
#else
#define __ASM_EXCEPTION_VTABLE(name, what_func) \
__ASM_VTABLE(name, "\t.long " THISCALL_NAME(what_func) )
#endif /* _WIN64 */
extern const vtable_ptr MSVCP_bad_alloc_vtable;
extern const vtable_ptr MSVCP_logic_error_vtable;
extern const vtable_ptr MSVCP_length_error_vtable;
@ -806,12 +795,12 @@ const char* __thiscall MSVCP_runtime_error_what(runtime_error *this)
#ifndef __GNUC__
void __asm_dummy_vtables(void) {
#endif
__ASM_EXCEPTION_VTABLE(bad_alloc, MSVCP_what_exception);
__ASM_EXCEPTION_VTABLE(logic_error, MSVCP_logic_error_what);
__ASM_EXCEPTION_VTABLE(length_error, MSVCP_logic_error_what);
__ASM_EXCEPTION_VTABLE(out_of_range, MSVCP_logic_error_what);
__ASM_EXCEPTION_VTABLE(invalid_argument, MSVCP_logic_error_what);
__ASM_EXCEPTION_VTABLE(runtime_error, MSVCP_runtime_error_what);
__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));
#ifndef __GNUC__
}
#endif

View File

@ -66,6 +66,8 @@ extern void* (__cdecl *MSVCRT_set_new_handler)(void*);
#ifdef _WIN64
#define VTABLE_ADD_FUNC(name) "\t.quad " THISCALL_NAME(name) "\n"
#define __ASM_VTABLE(name,funcs) \
__asm__(".data\n" \
"\t.align 8\n" \
@ -77,6 +79,8 @@ extern void* (__cdecl *MSVCRT_set_new_handler)(void*);
#else
#define VTABLE_ADD_FUNC(name) "\t.long " THISCALL_NAME(name) "\n"
#define __ASM_VTABLE(name,funcs) \
__asm__(".data\n" \
"\t.align 4\n" \