summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2015-06-24 22:02:16 +0000
committerDouglas Gregor <dgregor@apple.com>2015-06-24 22:02:16 +0000
commit59e3d7553700e53ae5cedbac25e9a6a5e1352d97 (patch)
treea6c2661246e3bd31e9a3b5c43f0df90ae5996f2a /clang/lib/Frontend/InitPreprocessor.cpp
parentaea7afdc1304cfef3b2cf61793729b1f55f26d0a (diff)
downloadbcm5719-llvm-59e3d7553700e53ae5cedbac25e9a6a5e1352d97.tar.gz
bcm5719-llvm-59e3d7553700e53ae5cedbac25e9a6a5e1352d97.zip
Add __nonnull/__nullable/__null_unspecified predefines for Darwin.
Addresses the rest of rdar://problem/21530726. llvm-svn: 240597
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 24171468f1b..025c8b9d43a 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -868,6 +868,14 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
"__attribute__((objc_ownership(none)))");
}
+ // On Darwin, there are __double_underscored variants of the type
+ // nullability qualifiers.
+ if (TI.getTriple().isOSDarwin()) {
+ Builder.defineMacro("__nonnull", "_Nonnull");
+ Builder.defineMacro("__null_unspecified", "_Null_unspecified");
+ Builder.defineMacro("__nullable", "_Nullable");
+ }
+
// OpenMP definition
if (LangOpts.OpenMP) {
// OpenMP 2.2:
OpenPOWER on IntegriCloud