Fix up several inline assembler blocks so that they produce correct
code with the -fomit-frame-pointer gcc flag.

diff --git a/dlls/msvcrt/cppexcept.c b/dlls/msvcrt/cppexcept.c
index 2ecbdd2..7e7c642 100644
--- a/dlls/msvcrt/cppexcept.c
+++ b/dlls/msvcrt/cppexcept.c
@@ -53,7 +53,7 @@
 {
     void *ret;
     __asm__ __volatile__ ("pushl %%ebp; movl %2,%%ebp; call *%%eax; popl %%ebp" \
-                          : "=a" (ret) : "0" (func), "g" (ebp) : "ecx", "edx", "memory" );
+                          : "=a" (ret) : "0" (func), "r" (ebp) : "ecx", "edx", "memory" );
     return ret;
 }
 
@@ -64,10 +64,10 @@
     if (has_vbase)
         /* in that case copy ctor takes an extra bool indicating whether to copy the base class */
         __asm__ __volatile__("pushl $1; pushl %2; call *%0"
-                             : : "r" (func), "c" (this), "g" (src) : "eax", "edx", "memory" );
+                             : : "r" (func), "c" (this), "r" (src) : "eax", "edx", "memory" );
     else
         __asm__ __volatile__("pushl %2; call *%0"
-                             : : "r" (func), "c" (this), "g" (src) : "eax", "edx", "memory" );
+                             : : "r" (func), "c" (this), "r" (src) : "eax", "edx", "memory" );
 }
 
 /* call the destructor of the exception object */