summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/NSAPI.cpp
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2018-09-10 22:20:09 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2018-09-10 22:20:09 +0000
commit4257857bf8a508b56f73f61bdf941194913bac92 (patch)
treec1bbee49ba07de5139af63fe8131842938ef0b69 /clang/lib/AST/NSAPI.cpp
parentafb8b5d95430eed2148e58c88319dded587010c5 (diff)
downloadbcm5719-llvm-4257857bf8a508b56f73f61bdf941194913bac92.tar.gz
bcm5719-llvm-4257857bf8a508b56f73f61bdf941194913bac92.zip
[Sema][ObjC] Infer availability of +new from availability of -init.
When defined in NSObject, +new will call -init. If -init has been marked unavailable, diagnose uses of +new. rdar://18335828 Differential revision: https://reviews.llvm.org/D51189 llvm-svn: 341874
Diffstat (limited to 'clang/lib/AST/NSAPI.cpp')
-rw-r--r--clang/lib/AST/NSAPI.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/AST/NSAPI.cpp b/clang/lib/AST/NSAPI.cpp
index 94ad87b6e33..9d591313f26 100644
--- a/clang/lib/AST/NSAPI.cpp
+++ b/clang/lib/AST/NSAPI.cpp
@@ -607,3 +607,11 @@ Selector NSAPI::getOrInitSelector(ArrayRef<StringRef> Ids,
}
return Sel;
}
+
+Selector NSAPI::getOrInitNullarySelector(StringRef Id, Selector &Sel) const {
+ if (Sel.isNull()) {
+ IdentifierInfo *Ident = &Ctx.Idents.get(Id);
+ Sel = Ctx.Selectors.getSelector(0, &Ident);
+ }
+ return Sel;
+}
OpenPOWER on IntegriCloud