[Patch] wine/dlls/oleaut32/tmarshal.c on non-i386

Pierre d'Herbemont pidherbemont at opendarwin.org
Sun Oct 16 05:06:00 CDT 2005


Hi,

As requested by Jonathan in bug #2968

http://bugs.winehq.org/show_bug.cgi?id=2968

Here is a patch to allow compilation of wine on non i386.

It is not a clean solution, but I am not sure the issue needs a  
proper fix in this case. However if you (Alexandre) think we need a  
real fix for it, I can do the ppc asm code.

Pierre.

ChangeLog:
Allow compilation on non-i386.

-------------- next part --------------
Index: dlls/oleaut32/tmarshal.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/tmarshal.c,v
retrieving revision 1.57
diff -u -r1.57 tmarshal.c
--- dlls/oleaut32/tmarshal.c	11 Jul 2005 10:25:19 -0000	1.57
+++ dlls/oleaut32/tmarshal.c	16 Oct 2005 09:57:01 -0000
@@ -352,7 +352,9 @@
 #include "poppack.h"
 
 #else /* __i386__ */
-# error You need to implement stubless proxies for your architecture
+# warning You need to implement stubless proxies for your architecture
+typedef struct _TMAsmProxy {
+} TMAsmProxy;
 #endif
 
 typedef struct _TMProxyImpl {
@@ -1872,6 +1874,7 @@
 		for (j=0;j<fdesc->cParams;j++)
 		    nrofargs += _argsize(fdesc->lprgelemdescParam[j].tdesc.vt);
 
+#ifdef __i386__
 		if (fdesc->callconv != CC_STDCALL) {
 		    ERR("calling convention is not stdcall????\n");
 		    return E_FAIL;
@@ -1895,6 +1898,10 @@
 		xasm->lret	= 0xc2;
 		xasm->bytestopop= (nrofargs+2)*4; /* pop args, This, iMethod */
 		proxy->lpvtbl[i] = xasm;
+#else
+        FIXME("not implemented on non i386\n");
+        return E_FAIL;
+#endif
 		break;
 	    }
 	}


More information about the wine-patches mailing list