---
 lib/Basic/Targets.cpp |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

---
On gcc on cygming, __declspec(attr) is always defined as
__attribute__((attr)) regardless of -fms-extensions.
(it seems gcc's cc1 would not understand __declspec)
I am dubious __declspec might be provided as keyword w/o
-fms-extensions, not sure.
Please give me any comments, thank you.

...Takumi
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index a9667bb..cb3ae9c 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -1481,7 +1481,10 @@ public:
     Builder.defineMacro("_X86_");
     Builder.defineMacro("__MSVCRT__");
     Builder.defineMacro("__MINGW32__");
-    Builder.defineMacro("__declspec", "__declspec");
+    if (Opts.Microsoft)
+      Builder.defineMacro("__declspec", "__declspec");
+    else
+      Builder.defineMacro("__declspec(a)", "__attribute__((a))");
   }
 };
 } // end anonymous namespace
@@ -1631,7 +1634,10 @@ public:
     Builder.defineMacro("__MSVCRT__");
     Builder.defineMacro("__MINGW32__");
     Builder.defineMacro("__MINGW64__");
-    Builder.defineMacro("__declspec", "__declspec");
+    if (Opts.Microsoft)
+      Builder.defineMacro("__declspec", "__declspec");
+    else
+      Builder.defineMacro("__declspec(a)", "__attribute__((a))");
   }
 };
 } // end anonymous namespace
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to