summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-12-21 00:09:11 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-12-21 00:09:11 +0000
commit13d08955ea7e16d1747369536bd9443a00c305bb (patch)
tree66cb65de5f2e9b287559ac175d2559be610c221a
parent91c052c4d814e8ccc27c3925930d1d6f0c2b1d36 (diff)
downloadbcm5719-llvm-13d08955ea7e16d1747369536bd9443a00c305bb.tar.gz
bcm5719-llvm-13d08955ea7e16d1747369536bd9443a00c305bb.zip
objc QOI: Don't't warn about mismatch between attributes
on method declaration and definition if former is in a system header. // rdar://10580333 llvm-svn: 147020
-rw-r--r--clang/lib/Sema/SemaDeclObjC.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp
index 4f87db426db..c86f735d57d 100644
--- a/clang/lib/Sema/SemaDeclObjC.cpp
+++ b/clang/lib/Sema/SemaDeclObjC.cpp
@@ -2737,8 +2737,11 @@ Decl *Sema::ActOnMethodDeclaration(
ObjCMethod->isInstanceMethod());
if (ObjCMethod->hasAttrs() &&
containsInvalidMethodImplAttribute(IMD, ObjCMethod->getAttrs())) {
- Diag(EndLoc, diag::warn_attribute_method_def);
- Diag(IMD->getLocation(), diag::note_method_declared_at);
+ SourceLocation MethodLoc = IMD->getLocation();
+ if (!getSourceManager().isInSystemHeader(MethodLoc)) {
+ Diag(EndLoc, diag::warn_attribute_method_def);
+ Diag(MethodLoc, diag::note_method_declared_at);
+ }
}
} else {
cast<DeclContext>(ClassDecl)->addDecl(ObjCMethod);
OpenPOWER on IntegriCloud