Skip to content

Commit 5348d60

Browse files
authored
[Driver] Enable outline atomics for Haiku and Managarm aarch64 (#156299)
1 parent a652979 commit 5348d60

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

clang/lib/Driver/ToolChains/Haiku.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
5656
const llvm::opt::ArgList &DriverArgs,
5757
llvm::opt::ArgStringList &CC1Args) const override;
5858

59+
bool IsAArch64OutlineAtomicsDefault(
60+
const llvm::opt::ArgList &Args) const override {
61+
return true;
62+
}
63+
5964
SanitizerMask getSupportedSanitizers() const override;
6065
unsigned GetDefaultDwarfVersion() const override { return 4; }
6166

clang/lib/Driver/ToolChains/Managarm.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ class LLVM_LIBRARY_VISIBILITY Managarm : public Generic_ELF {
3434
void
3535
addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
3636
llvm::opt::ArgStringList &CC1Args) const override;
37+
38+
bool IsAArch64OutlineAtomicsDefault(
39+
const llvm::opt::ArgList &Args) const override {
40+
return true;
41+
}
42+
3743
SanitizerMask getSupportedSanitizers() const override;
3844
std::string computeSysRoot() const override;
3945

clang/test/Driver/aarch64-features.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@
7979
// RUN: --gcc-toolchain=%S/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0 \
8080
// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
8181

82+
// RUN: %clang --target=aarch64-unknown-haiku -rtlib=libgcc \
83+
// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
84+
85+
// RUN: %clang --target=aarch64-unknown-managarm-mlibc -rtlib=libgcc \
86+
// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
87+
8288
// CHECK-OUTLINE-ATOMICS-ON: "-target-feature" "+outline-atomics"
8389
// CHECK-OUTLINE-ATOMICS-OFF-NOT: "-target-feature" "+outline-atomics"
8490
// CHECK-NO-OUTLINE-ATOMICS: "-target-feature" "-outline-atomics"

0 commit comments

Comments
 (0)