winegcc: better declspec support

Dimitrie O. Paun dimi at intelliware.ca
Wed Aug 6 17:11:17 CDT 2003


ChangeLog
  Dimitrie O. Paun <dpaun at rogers.com>
  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__";





More information about the wine-patches mailing list