Alexandre Julliard : msvcrt/tests: Fix register constraints on thiscall wrappers.

Alexandre Julliard julliard at winehq.org
Tue Jul 8 06:11:13 CDT 2008


Module: wine
Branch: master
Commit: c2545cd43e578ea2f19cad77369d3e7d231c0e30
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c2545cd43e578ea2f19cad77369d3e7d231c0e30

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Jul  8 11:16:01 2008 +0200

msvcrt/tests: Fix register constraints on thiscall wrappers.

---

 dlls/msvcrt/tests/cpp.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c
index f642bcd..c2fdf36 100644
--- a/dlls/msvcrt/tests/cpp.c
+++ b/dlls/msvcrt/tests/cpp.c
@@ -157,20 +157,20 @@ static inline void* do_call_func2(void *func, void *_this, const void* arg)
 #else
 static void* do_call_func1(void *func, void *_this)
 {
-  void* ret;
-  __asm__ __volatile__ ("call *%1"
-                        : "=a" (ret)
-                        : "g" (func), "c" (_this)
-                        : "memory" );
+  void *ret, *dummy;
+  __asm__ __volatile__ ("call *%2"
+                        : "=a" (ret), "=c" (dummy)
+                        : "g" (func), "1" (_this)
+                        : "edx", "memory" );
   return ret;
 }
 static void* do_call_func2(void *func, void *_this, const void* arg)
 {
-  void* ret;
-  __asm__ __volatile__ ("pushl %2\n\tcall *%1"
-                        : "=a" (ret)
-                        : "r" (func), "g" (arg), "c" (_this)
-                        : "memory" );
+  void *ret, *dummy;
+  __asm__ __volatile__ ("pushl %3\n\tcall *%2"
+                        : "=a" (ret), "=c" (dummy)
+                        : "r" (func), "r" (arg), "1" (_this)
+                        : "edx", "memory" );
   return ret;
 }
 #endif




More information about the wine-cvs mailing list