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" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits