winegcc: better declspec support

Dimitrie O. Paun dpaun at rogers.com
Thu Aug 7 01:37:03 CDT 2003


(NOTE: this one did not seem to have made it through fir some reason)

ChangeLog
  Better support for __declspec() (based on a suggestion from Ove Kaaven).

Index: tools/winegcc.c
===================================================================
RCS file: /var/cvs/wine/tools/winegcc.c,v
retrieving revision 1.16
diff -u -r1.16 winegcc.c
--- tools/winegcc.c	13 May 2003 04:44:58 -0000	1.16
+++ tools/winegcc.c	6 Aug 2003 16:04:21 -0000
@@ -294,7 +294,19 @@
 	gcc_argv[i++] = "-D_stdcall=__attribute__((__stdcall__))";
 	gcc_argv[i++] = "-D_cdecl=__attribute__((__cdecl__))";
 	gcc_argv[i++] = "-D_fastcall=__attribute__((__fastcall__))";
-	gcc_argv[i++] = "-D__declspec(x)=__attribute__((x))";
+	gcc_argv[i++] = "-D__declspec(x)=__declspec_##x";
+        gcc_argv[i++] = "-D__declspec_align(x)=__attribute__((aligned(x)))";
+        gcc_argv[i++] = "-D__declspec_allocate(x)=__attribute__((section(x)))";
+        gcc_argv[i++] = "-D__declspec_deprecated=__attribute__((deprecated))";
+        gcc_argv[i++] = "-D__declspec_dllimport=__attribute__((dllimport))";
+        gcc_argv[i++] = "-D__declspec_dllexport=__attribute__((dllexport))";
+        gcc_argv[i++] = "-D__declspec_naked=__attribute__((naked))";
+        gcc_argv[i++] = "-D__declspec_noinline=__attribute__((noinline))";
+        gcc_argv[i++] = "-D__declspec_noreturn=__attribute__((noreturn))";
+        gcc_argv[i++] = "-D__declspec_nothrow=__attribute__((nothrow))";
+        gcc_argv[i++] = "-D__declspec_novtable=__attribute__(())"; /* ignore it */
+        gcc_argv[i++] = "-D__declspec_selectany=__attribute__((weak))";
+        gcc_argv[i++] = "-D__declspec_thread=__thread";
     
 	/* Wine specific defines */
 	gcc_argv[i++] = "-D__WINE__";


-- 
Dimi.




More information about the wine-patches mailing list