summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseObjc.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-06 23:23:20 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-06 23:23:20 +0000
commit9321ad3f970714e3ca40d7c3461ff3acdbf8f7e7 (patch)
tree2d4bcdcbb8797c07c801de2a2ec5d5bd834dfc08 /clang/lib/Parse/ParseObjc.cpp
parent1456cd20b47af6e105652105a236695e3ea38698 (diff)
downloadbcm5719-llvm-9321ad3f970714e3ca40d7c3461ff3acdbf8f7e7.tar.gz
bcm5719-llvm-9321ad3f970714e3ca40d7c3461ff3acdbf8f7e7.zip
When using an unavailable/deprecated interface Foo inside Foo's interface/implementation
don't emit unavailable errors. llvm-svn: 141334
Diffstat (limited to 'clang/lib/Parse/ParseObjc.cpp')
-rw-r--r--clang/lib/Parse/ParseObjc.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp
index 1b482258373..78c6b87715f 100644
--- a/clang/lib/Parse/ParseObjc.cpp
+++ b/clang/lib/Parse/ParseObjc.cpp
@@ -336,7 +336,6 @@ void Parser::ParseObjCInterfaceDeclList(tok::ObjCKeywordKind contextKey,
tok::ObjCKeywordKind MethodImplKind = tok::objc_not_keyword;
SourceRange AtEnd;
- Actions.ActOnObjCContainerStartDefinition(CDecl);
while (1) {
// If this is a method prototype, parse it.
@@ -1195,6 +1194,7 @@ void Parser::ParseObjCClassInstanceVariables(Decl *interfaceDecl,
SmallVector<Decl *, 32> AllIvarDecls;
ParseScope ClassScope(this, Scope::DeclScope|Scope::ClassScope);
+ ObjCDeclContextSwitch ObjCDC(*this);
SourceLocation LBraceLoc = ConsumeBrace(); // the "{"
@@ -1441,7 +1441,6 @@ Decl *Parser::ParseObjCAtImplementationDeclaration(
atLoc, nameId, nameLoc, categoryId,
categoryLoc);
- Actions.ActOnObjCContainerStartDefinition(ImplCatType);
ObjCImpDecl = ImplCatType;
PendingObjCImpDecl.push_back(ObjCImpDecl);
return 0;
@@ -1466,7 +1465,6 @@ Decl *Parser::ParseObjCAtImplementationDeclaration(
if (Tok.is(tok::l_brace)) // we have ivars
ParseObjCClassInstanceVariables(ImplClsType, tok::objc_private, atLoc);
- Actions.ActOnObjCContainerStartDefinition(ImplClsType);
ObjCImpDecl = ImplClsType;
PendingObjCImpDecl.push_back(ObjCImpDecl);
return 0;
OpenPOWER on IntegriCloud