D98574
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Mon, 9 May 2022 18:47:26 +0000 (19:47 +0100)
committerSylvestre Ledru <sylvestre@debian.org>
Mon, 9 May 2022 18:47:26 +0000 (19:47 +0100)
Gbp-Pq: Name D98574.patch

clang/lib/Basic/Targets/Sparc.cpp

index 5eeb77406c342ee7b630eace0793d3c9ab4170c4..0280de3778e58fdee2ca87f336e41acbb0f108d0 100644 (file)
@@ -156,9 +156,12 @@ void SparcV8TargetInfo::getTargetDefines(const LangOptions &Opts,
       Builder.defineMacro("__sparcv8__");
       break;
     case CG_V9:
-      Builder.defineMacro("__sparcv9");
-      Builder.defineMacro("__sparcv9__");
       Builder.defineMacro("__sparc_v9__");
+      // Linux doesn't need these variants, but the BSDs do.
+      if (getTriple().getOS() != llvm::Triple::Linux) {
+        Builder.defineMacro("__sparcv9");
+        Builder.defineMacro("__sparcv9__");
+      }
       break;
     }
   }
@@ -239,13 +242,17 @@ void SparcV8TargetInfo::getTargetDefines(const LangOptions &Opts,
 void SparcV9TargetInfo::getTargetDefines(const LangOptions &Opts,
                                          MacroBuilder &Builder) const {
   SparcTargetInfo::getTargetDefines(Opts, Builder);
-  Builder.defineMacro("__sparcv9");
   Builder.defineMacro("__arch64__");
-  // Solaris doesn't need these variants, but the BSDs do.
-  if (getTriple().getOS() != llvm::Triple::Solaris) {
-    Builder.defineMacro("__sparc64__");
+  if (getTriple().getOS() == llvm::Triple::Linux) {
     Builder.defineMacro("__sparc_v9__");
-    Builder.defineMacro("__sparcv9__");
+  } else {
+    Builder.defineMacro("__sparcv9");
+    // Solaris doesn't need these variants, but the BSDs do.
+    if (getTriple().getOS() != llvm::Triple::Solaris) {
+      Builder.defineMacro("__sparc64__");
+      Builder.defineMacro("__sparc_v9__");
+      Builder.defineMacro("__sparcv9__");
+    }
   }
 
   Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");