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