summaryrefslogtreecommitdiff
path: root/lib/Parse/ParseObjc.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-09-25 19:36:32 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-09-25 19:36:32 +0000
commita924f847fcc3268ca2ce5c1bc5592a3774aeab80 (patch)
tree59116e5575d8de81abf12d0e770e7bf26260790b /lib/Parse/ParseObjc.cpp
parent49b3533e1ac091894537d1a7be4bc51fef1ae1e5 (diff)
downloadclang-a924f847fcc3268ca2ce5c1bc5592a3774aeab80.tar.gz
clang-a924f847fcc3268ca2ce5c1bc5592a3774aeab80.tar.bz2
clang-a924f847fcc3268ca2ce5c1bc5592a3774aeab80.tar.xz
ObjectiveC: Handle the case of qualifying protocols
declared in a typedef declaraton used as super class of an ObjC class. Curretnly, these protocols are dropped from the class hierarchy. Test shows that it is now included. // rdar://15051465 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191395 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseObjc.cpp')
-rw-r--r--lib/Parse/ParseObjc.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp
index 5e308a6b57..1dc71f1f82 100644
--- a/lib/Parse/ParseObjc.cpp
+++ b/lib/Parse/ParseObjc.cpp
@@ -289,6 +289,9 @@ Decl *Parser::ParseObjCAtInterfaceDeclaration(SourceLocation AtLoc,
LAngleLoc, EndProtoLoc))
return 0;
+ if (Tok.isNot(tok::less))
+ Actions.ActOnTypedefedProtocols(ProtocolRefs, superClassId, superClassLoc);
+
Decl *ClsType =
Actions.ActOnStartClassInterface(AtLoc, nameId, nameLoc,
superClassId, superClassLoc,