summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2017-04-27 01:47:22 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2017-04-27 01:47:22 +0000
commit16b1ac950b5fb796e4c126ce451d34d3ceefe155 (patch)
tree421bc785d8b86b7b51c7660ef902b0f4112b784d
parent8c8fb8049080bb3522c3cd8349b1d2f79c54531e (diff)
downloadbcm5719-llvm-16b1ac950b5fb796e4c126ce451d34d3ceefe155.tar.gz
bcm5719-llvm-16b1ac950b5fb796e4c126ce451d34d3ceefe155.zip
Darwin: Define __STDC_NO_THREADS__ on Darwin targets
Darwin doesn't support C11 threads.h. Define `__STDC_NO_THREADS__` so that users can check for it. rdar://problem/18461003 llvm-svn: 301508
-rw-r--r--clang/lib/Basic/Targets.cpp1
-rw-r--r--clang/test/Preprocessor/init.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index d7f1793e377..78b03b1c314 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -117,6 +117,7 @@ static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
VersionTuple &PlatformMinVersion) {
Builder.defineMacro("__APPLE_CC__", "6000");
Builder.defineMacro("__APPLE__");
+ Builder.defineMacro("__STDC_NO_THREADS__");
Builder.defineMacro("OBJC_NEW_PROPERTIES");
// AddressSanitizer doesn't play well with source fortification, which is on
// by default on Darwin.
diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c
index 5fb2011cd02..36ef9b21365 100644
--- a/clang/test/Preprocessor/init.c
+++ b/clang/test/Preprocessor/init.c
@@ -9690,3 +9690,12 @@
// MSVC-X64-NEXT:#define __CLANG_ATOMIC_SHORT_LOCK_FREE 2
// MSVC-X64-NEXT:#define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 2
// MSVC-X86-NOT:#define __GCC_ATOMIC{{.*}}
+
+// RUN: %clang_cc1 -E -dM -ffreestanding \
+// RUN: -triple=aarch64-apple-ios9 < /dev/null \
+// RUN: | FileCheck -check-prefix=DARWIN %s
+// RUN: %clang_cc1 -E -dM -ffreestanding \
+// RUN: -triple=aarch64-apple-macosx10.12 < /dev/null \
+// RUN: | FileCheck -check-prefix=DARWIN %s
+
+// DARWIN:#define __STDC_NO_THREADS__ 1
OpenPOWER on IntegriCloud