llvm-toolchain/debian/patches/D98574.patch
2022-01-22 00:06:19 +01:00

40 lines
1.7 KiB
Diff

Index: llvm-toolchain-snapshot_14~++20220121115143+653b007dc186/clang/lib/Basic/Targets/Sparc.cpp
===================================================================
--- llvm-toolchain-snapshot_14~++20220121115143+653b007dc186.orig/clang/lib/Basic/Targets/Sparc.cpp
+++ llvm-toolchain-snapshot_14~++20220121115143+653b007dc186/clang/lib/Basic/Targets/Sparc.cpp
@@ -156,6 +156,11 @@ void SparcV8TargetInfo::getTargetDefines
Builder.defineMacro("__sparcv8__");
break;
case CG_V9:
+ // Linux doesn't need these variants, but the BSDs do.
+ if (getTriple().getOS() != llvm::Triple::Linux) {
+ Builder.defineMacro("__sparcv9");
+ Builder.defineMacro("__sparcv9__");
+ }
Builder.defineMacro("__sparc_v9__");
break;
}
@@ -237,13 +242,17 @@ void SparcV8TargetInfo::getTargetDefines
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");