Skip to content

Conversation

brad0
Copy link
Contributor

@brad0 brad0 commented Sep 1, 2025

No description provided.

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' labels Sep 1, 2025
@llvmbot
Copy link
Member

llvmbot commented Sep 1, 2025

@llvm/pr-subscribers-clang-driver

@llvm/pr-subscribers-clang

Author: Brad Smith (brad0)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/156299.diff

3 Files Affected:

  • (modified) clang/lib/Driver/ToolChains/Haiku.h (+5)
  • (modified) clang/lib/Driver/ToolChains/Managarm.h (+6)
  • (modified) clang/test/Driver/aarch64-features.c (+6)
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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants