Piotr Caban : msvcp90: Removed __ASM_EXCEPTION_VTABLE macro.
Alexandre Julliard
julliard at winehq.org
Thu Dec 15 12:47:20 CST 2011
Module: wine
Branch: master
Commit: 07a9909ccaea1e9626731c4b259f555877d50bb2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=07a9909ccaea1e9626731c4b259f555877d50bb2
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Dec 15 10:16:08 2011 +0100
msvcp90: Removed __ASM_EXCEPTION_VTABLE macro.
---
dlls/msvcp90/exception.c | 23 ++++++-----------------
dlls/msvcp90/msvcp90.h | 4 ++++
2 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/dlls/msvcp90/exception.c b/dlls/msvcp90/exception.c
index 0008f43..f2ff017 100644
--- a/dlls/msvcp90/exception.c
+++ b/dlls/msvcp90/exception.c
@@ -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
diff --git a/dlls/msvcp90/msvcp90.h b/dlls/msvcp90/msvcp90.h
index ed66d23..5d61779 100644
--- a/dlls/msvcp90/msvcp90.h
+++ b/dlls/msvcp90/msvcp90.h
@@ -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" \
More information about the wine-cvs
mailing list