diff options
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 4 | ||||
| -rw-r--r-- | clang/test/CodeGen/linux-arm-atomic.c | 1 | 
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index f3d7e0ce671..4e2d223c6bf 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3534,7 +3534,9 @@ class ARMTargetInfo : public TargetInfo {      // the kernel which on armv6 and newer uses ldrex and strex. The net result      // is that if we assume the kernel is at least as recent as the hardware,      // it is safe to use atomic instructions on armv6 and newer. -    if (T.getOS() != llvm::Triple::Linux && T.getOS() != llvm::Triple::FreeBSD) +    if (T.getOS() != llvm::Triple::Linux && +        T.getOS() != llvm::Triple::FreeBSD && +        T.getOS() != llvm::Triple::Bitrig)        return false;      StringRef ArchName = T.getArchName();      if (T.getArch() == llvm::Triple::arm) { diff --git a/clang/test/CodeGen/linux-arm-atomic.c b/clang/test/CodeGen/linux-arm-atomic.c index b8535f82482..116925a585b 100644 --- a/clang/test/CodeGen/linux-arm-atomic.c +++ b/clang/test/CodeGen/linux-arm-atomic.c @@ -2,6 +2,7 @@  // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s  // RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s  // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-bitrig | FileCheck %s  typedef int _Atomic_word;  _Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {  | 

