]> granicus.if.org Git - clang/commitdiff
Basic: match GCC behaviour for SuS macro
authorSaleem Abdulrasool <compnerd@compnerd.org>
Sun, 5 Feb 2017 22:18:15 +0000 (22:18 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Sun, 5 Feb 2017 22:18:15 +0000 (22:18 +0000)
GCC does not generate `__unix` nor `unix` macros.  The latter already
intrudes into the user's namespace and should be avoided.  Use the
canonical spelling of `__unix__` across all the targets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294148 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
test/Driver/le32-unknown-nacl.cpp
test/Driver/le64-unknown-unknown.cpp
test/Driver/mipsel-nacl-defines.cpp
test/Driver/x86_64-nacl-defines.cpp
test/Preprocessor/init.c

index 7e311b0ac7d5249ad79af1e3b102d148f52cebf0..fe52ed906daa85205c2ee263e08ea7cf0b9c8f3b 100644 (file)
@@ -303,10 +303,10 @@ protected:
     // DragonFly defines; list based off of gcc output
     Builder.defineMacro("__DragonFly__");
     Builder.defineMacro("__DragonFly_cc_version", "100001");
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
     Builder.defineMacro("__tune_i386__");
-    DefineStd(Builder, "unix", Opts);
   }
 public:
   DragonFlyBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
@@ -343,7 +343,7 @@ protected:
     Builder.defineMacro("__FreeBSD__", Twine(Release));
     Builder.defineMacro("__FreeBSD_cc_version", Twine(CCVersion));
     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
 
     // On FreeBSD, wchar_t contains the number of the code point as
@@ -388,9 +388,9 @@ protected:
                     MacroBuilder &Builder) const override {
     // GNU/kFreeBSD defines; list based off of gcc output
 
-    DefineStd(Builder, "unix", Opts);
     Builder.defineMacro("__FreeBSD_kernel__");
     Builder.defineMacro("__GLIBC__");
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     if (Opts.POSIXThreads)
       Builder.defineMacro("_REENTRANT");
@@ -410,8 +410,8 @@ protected:
                     MacroBuilder &Builder) const override {
     // Haiku defines; list based off of gcc output
     Builder.defineMacro("__HAIKU__");
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
-    DefineStd(Builder, "unix", Opts);
   }
 public:
   HaikuTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
@@ -440,8 +440,8 @@ protected:
     Builder.defineMacro("_EM_LSIZE", "4");
     Builder.defineMacro("_EM_FSIZE", "4");
     Builder.defineMacro("_EM_DSIZE", "8");
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
-    DefineStd(Builder, "unix", Opts);
   }
 public:
   MinixTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
@@ -455,7 +455,7 @@ protected:
   void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
                     MacroBuilder &Builder) const override {
     // Linux defines; list based off of gcc output
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     DefineStd(Builder, "linux", Opts);
     Builder.defineMacro("__gnu_linux__");
     Builder.defineMacro("__ELF__");
@@ -541,7 +541,7 @@ protected:
     // OpenBSD defines; list based off of gcc output
 
     Builder.defineMacro("__OpenBSD__");
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     if (Opts.POSIXThreads)
       Builder.defineMacro("_REENTRANT");
@@ -578,7 +578,7 @@ protected:
     // Bitrig defines; list based off of gcc output
 
     Builder.defineMacro("__Bitrig__");
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     if (Opts.POSIXThreads)
       Builder.defineMacro("_REENTRANT");
@@ -652,7 +652,7 @@ protected:
     Builder.defineMacro("__FreeBSD__", "9");
     Builder.defineMacro("__FreeBSD_cc_version", "900001");
     Builder.defineMacro("__KPRINTF_ATTRIBUTE__");
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     Builder.defineMacro("__ORBIS__");
   }
@@ -683,8 +683,8 @@ class SolarisTargetInfo : public OSTargetInfo<Target> {
 protected:
   void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
                     MacroBuilder &Builder) const override {
+    Builder.defineMacro("__unix__");
     DefineStd(Builder, "sun", Opts);
-    DefineStd(Builder, "unix", Opts);
     Builder.defineMacro("__ELF__");
     Builder.defineMacro("__svr4__");
     Builder.defineMacro("__SVR4");
@@ -786,7 +786,7 @@ protected:
     if (Opts.CPlusPlus)
       Builder.defineMacro("_GNU_SOURCE");
 
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
     Builder.defineMacro("__native_client__");
   }
@@ -4455,7 +4455,7 @@ public:
     Builder.defineMacro("__CYGWIN__");
     Builder.defineMacro("__CYGWIN32__");
     addCygMingDefines(Opts, Builder);
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     if (Opts.CPlusPlus)
       Builder.defineMacro("_GNU_SOURCE");
   }
@@ -4750,7 +4750,7 @@ public:
     Builder.defineMacro("__CYGWIN__");
     Builder.defineMacro("__CYGWIN64__");
     addCygMingDefines(Opts, Builder);
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     if (Opts.CPlusPlus)
       Builder.defineMacro("_GNU_SOURCE");
 
@@ -5865,7 +5865,7 @@ public:
     Builder.defineMacro("_ARM_");
     Builder.defineMacro("__CYGWIN__");
     Builder.defineMacro("__CYGWIN32__");
-    DefineStd(Builder, "unix", Opts);
+    Builder.defineMacro("__unix__");
     if (Opts.CPlusPlus)
       Builder.defineMacro("_GNU_SOURCE");
   }
@@ -8029,8 +8029,8 @@ public:
 
   void getTargetDefines(const LangOptions &Opts,
                         MacroBuilder &Builder) const override {
-    DefineStd(Builder, "unix", Opts);
     defineCPUMacros(Builder, "le64", /*Tuning=*/false);
+    Builder.defineMacro("__unix__");
     Builder.defineMacro("__ELF__");
   }
   ArrayRef<Builtin::Info> getTargetBuiltins() const override {
index 379ddb6c63d82c764bbb89daaef786b8a0a7ebe6..1be2c03b530c6f975241fdee8c0a060b27338a00 100644 (file)
@@ -60,9 +60,9 @@ void __le32__defined() {}
 void __pnacl__defined() {}
 #endif
 
-// CHECK: unixdefined
-#ifdef unix
-void unixdefined() {}
+// CHECK: __unix__defined
+#ifdef __unix__
+void __unix__defined() {}
 #endif
 
 // CHECK: __ELF__defined
index d0a58598ffe76a17418ac81c1ff6561aaa6874ee..771b21bff371fac963780b93f3bf6b1455e62cbb 100644 (file)
@@ -54,16 +54,6 @@ void __le64defined() {}
 void __le64__defined() {}
 #endif
 
-// CHECK: unixdefined
-#ifdef unix
-void unixdefined() {}
-#endif
-
-// CHECK: __unixdefined
-#ifdef __unix
-void __unixdefined() {}
-#endif
-
 // CHECK: __unix__defined
 #ifdef __unix__
 void __unix__defined() {}
index 0f63d7659e518f73f43aa3a2d9a0e1e3610bc27c..943750579ee9ff2edb5dd8267a86f4c6d79cc19d 100644 (file)
@@ -21,9 +21,9 @@ void _mipsdefined() {}
 void __native_client__defined() {}
 #endif
 
-// CHECK: unixdefined
-#ifdef unix
-void unixdefined() {}
+// CHECK: __unix__defined
+#ifdef __unix__
+void __unix__defined() {}
 #endif
 
 // CHECK: __ELF__defined
index 87d02d7e10f7d6a48a46d155402a097199810c12..2ff79651227593774259740c00d349adaf42d732 100644 (file)
@@ -21,9 +21,9 @@ void __native_client__defined() {}
 void __x86_64__defined() {}
 #endif
 
-// CHECK: unixdefined
-#ifdef unix
-void unixdefined() {}
+// CHECK: __unix__defined
+#ifdef __unix__
+void __unix__defined() {}
 #endif
 
 // CHECK: __ELF__defined
index 1d3e9fbae1c250b0471aed4d7857660e9ec2e6c4..3aae43e2ab721734e4e170752f9d224d54e5ed9c 100644 (file)
 // PS4:#define __WINT_WIDTH__ 32
 // PS4:#define __amd64 1
 // PS4:#define __amd64__ 1
-// PS4:#define __unix 1
 // PS4:#define __unix__ 1
 // PS4:#define __x86_64 1
 // PS4:#define __x86_64__ 1
 // WEBASSEMBLY32-NOT:#define __wasm_simd128__
 // WEBASSEMBLY32-NOT:#define __wasm_simd256__
 // WEBASSEMBLY32-NOT:#define __wasm_simd512__
-// WEBASSEMBLY32-NOT:#define __unix
 // WEBASSEMBLY32-NOT:#define __unix__
 // WEBASSEMBLY32-NEXT:#define __wasm 1
 // WEBASSEMBLY32-NEXT:#define __wasm32 1
 // WEBASSEMBLY64-NOT:#define __wasm_simd128__
 // WEBASSEMBLY64-NOT:#define __wasm_simd256__
 // WEBASSEMBLY64-NOT:#define __wasm_simd512__
-// WEBASSEMBLY64-NOT:#define __unix
 // WEBASSEMBLY64-NOT:#define __unix__
 // WEBASSEMBLY64-NEXT:#define __wasm 1
 // WEBASSEMBLY64-NOT:#define __wasm32