]> granicus.if.org Git - clang/commitdiff
PNaClTargetInfo: add __ELF__, _REENTRANT and _GNU_SOURCE defines and update the test
authorIvan Krasin <krasin@chromium.org>
Thu, 25 Aug 2011 23:49:20 +0000 (23:49 +0000)
committerIvan Krasin <krasin@chromium.org>
Thu, 25 Aug 2011 23:49:20 +0000 (23:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138607 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
test/Driver/le32-unknown-nacl.cpp

index bff4ac8d5cd78e2ea608d992a6d96732d5b92b83..7399d5a359581debe91c2b86186abea8477d4e55 100644 (file)
@@ -2870,6 +2870,13 @@ public:
   }
   virtual void getTargetDefines(const LangOptions &Opts,
                                 MacroBuilder &Builder) const {
+    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__ELF__");
+    if (Opts.POSIXThreads)
+      Builder.defineMacro("_REENTRANT");
+    if (Opts.CPlusPlus)
+      Builder.defineMacro("_GNU_SOURCE");
+
     Builder.defineMacro("__native_client__");
     getArchDefines(Opts, Builder);
   }
index 6f2f79d11c9e2e98f6e7a61daf89cd3d80778b66..3ff54d40cb1887e2e1410f4e9de95e0956a0ba3f 100644 (file)
@@ -26,6 +26,25 @@ void __pnacl__defined() {
 }
 #endif
 
+#ifdef unix
+void unixdefined() {
+  // CHECK: unixdefined
+}
+#endif
+
+#ifdef __ELF__
+void __ELF__defined() {
+  // CHECK: __ELF__defined
+}
+#endif
+
+#ifdef _GNU_SOURCE
+void _GNU_SOURCEdefined() {
+  // CHECK: _GNU_SOURCEdefined
+}
+#endif
+
+
 // Check types
 
 // CHECK: signext i8 @check_char()