Add support for __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8} on x86.
This fixes std::thread with libstdc++. llvm-svn: 178816
This commit is contained in:
parent
d953d66ee9
commit
a0d5eb3a27
|
|
@ -2730,6 +2730,14 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
|
|||
case NoMMX3DNow:
|
||||
break;
|
||||
}
|
||||
|
||||
if (CPU >= CK_i486) {
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
|
||||
}
|
||||
if (CPU >= CK_i586)
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
|
||||
}
|
||||
|
||||
bool X86TargetInfo::hasFeature(StringRef Feature) const {
|
||||
|
|
|
|||
|
|
@ -26,3 +26,21 @@
|
|||
// RUN: %clang_cc1 %s -E -dM -o - \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-FINITE-MATH-FLAG-UNDEFINED
|
||||
// CHECK-FINITE-MATH-FLAG-UNDEFINED: #define __FINITE_MATH_ONLY__ 0
|
||||
//
|
||||
// RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i386 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I386
|
||||
// CHECK-SYNC_CAS_I386-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP
|
||||
//
|
||||
// RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i486 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I486
|
||||
// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
|
||||
// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
|
||||
// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
|
||||
// CHECK-SYNC_CAS_I486-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
|
||||
//
|
||||
// RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i586 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I586
|
||||
// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
|
||||
// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
|
||||
// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
|
||||
// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8
|
||||
|
|
|
|||
Loading…
Reference in New Issue