diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-05-09 19:51:39 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-05-09 19:51:39 +0000 |
commit | 65a78b5d9b9f318d27a37a173e22ea97e2dd4b84 (patch) | |
tree | 830a21e2e10a05f0ed11b8e156198ee99b82ead2 /clang/lib/Sema/SemaExprObjC.cpp | |
parent | 0c6a14ca82ce3f646b7128c68242acbdc0e2784d (diff) | |
download | bcm5719-llvm-65a78b5d9b9f318d27a37a173e22ea97e2dd4b84.tar.gz bcm5719-llvm-65a78b5d9b9f318d27a37a173e22ea97e2dd4b84.zip |
Objective-C. Reduce false positive warnings with -Wselector by issuing warning
only when named selector is declared in TU and it is not declared in a system
header. rdar://16600230
llvm-svn: 208443
Diffstat (limited to 'clang/lib/Sema/SemaExprObjC.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprObjC.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp index 037175e6015..d388a4b82e5 100644 --- a/clang/lib/Sema/SemaExprObjC.cpp +++ b/clang/lib/Sema/SemaExprObjC.cpp @@ -1049,8 +1049,9 @@ ExprResult Sema::ParseObjCSelectorExpression(Selector Sel, } else DiagnoseMismatchedSelectors(*this, AtLoc, Method); - if (!Method || - Method->getImplementationControl() != ObjCMethodDecl::Optional) { + if (Method && + Method->getImplementationControl() != ObjCMethodDecl::Optional && + !getSourceManager().isInSystemHeader(Method->getLocation())) { llvm::DenseMap<Selector, SourceLocation>::iterator Pos = ReferencedSelectors.find(Sel); if (Pos == ReferencedSelectors.end()) |