[clang] 5348d60 - [Driver] Enable outline atomics for Haiku and Managarm aarch64 (#156299)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 5 13:55:59 PDT 2025
Author: Brad Smith
Date: 2025-09-05T16:55:55-04:00
New Revision: 5348d6061dfe9a4314209561f466a5610884a5f4
URL: https://github.com/llvm/llvm-project/commit/5348d6061dfe9a4314209561f466a5610884a5f4
DIFF: https://github.com/llvm/llvm-project/commit/5348d6061dfe9a4314209561f466a5610884a5f4.diff
LOG: [Driver] Enable outline atomics for Haiku and Managarm aarch64 (#156299)
Added:
Modified:
clang/lib/Driver/ToolChains/Haiku.h
clang/lib/Driver/ToolChains/Managarm.h
clang/test/Driver/aarch64-features.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Haiku.h b/clang/lib/Driver/ToolChains/Haiku.h
index edebf5c49187b..b4b14cf0aeb99 100644
--- a/clang/lib/Driver/ToolChains/Haiku.h
+++ b/clang/lib/Driver/ToolChains/Haiku.h
@@ -56,6 +56,11 @@ class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
+ bool IsAArch64OutlineAtomicsDefault(
+ const llvm::opt::ArgList &Args) const override {
+ return true;
+ }
+
SanitizerMask getSupportedSanitizers() const override;
unsigned GetDefaultDwarfVersion() const override { return 4; }
diff --git a/clang/lib/Driver/ToolChains/Managarm.h b/clang/lib/Driver/ToolChains/Managarm.h
index 2082e2c615f28..408c0589a3138 100644
--- a/clang/lib/Driver/ToolChains/Managarm.h
+++ b/clang/lib/Driver/ToolChains/Managarm.h
@@ -34,6 +34,12 @@ class LLVM_LIBRARY_VISIBILITY Managarm : public Generic_ELF {
void
addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
+
+ bool IsAArch64OutlineAtomicsDefault(
+ const llvm::opt::ArgList &Args) const override {
+ return true;
+ }
+
SanitizerMask getSupportedSanitizers() const override;
std::string computeSysRoot() const override;
diff --git a/clang/test/Driver/aarch64-features.c b/clang/test/Driver/aarch64-features.c
index 05dd3bf39fae3..11c7343544345 100644
--- a/clang/test/Driver/aarch64-features.c
+++ b/clang/test/Driver/aarch64-features.c
@@ -79,6 +79,12 @@
// RUN: --gcc-toolchain=%S/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0 \
// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+// RUN: %clang --target=aarch64-unknown-haiku -rtlib=libgcc \
+// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+
+// RUN: %clang --target=aarch64-unknown-managarm-mlibc -rtlib=libgcc \
+// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+
// CHECK-OUTLINE-ATOMICS-ON: "-target-feature" "+outline-atomics"
// CHECK-OUTLINE-ATOMICS-OFF-NOT: "-target-feature" "+outline-atomics"
// CHECK-NO-OUTLINE-ATOMICS: "-target-feature" "-outline-atomics"
More information about the cfe-commits
mailing list