'super' nailed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44025 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index c3dae85..19d32bd 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -1237,7 +1237,8 @@
ExprTy *ReceiverExpr = 0;
// Parse receiver
if (Tok.is(tok::identifier) &&
- Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope)) {
+ (Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope)
+ || !strcmp(Tok.getIdentifierInfo()->getName(), "super"))) {
ReceiverName = Tok.getIdentifierInfo();
ConsumeToken();
} else {
@@ -1308,7 +1309,8 @@
// We've just parsed a keyword message.
if (ReceiverName)
- return Actions.ActOnClassMessage(ReceiverName, Sel, LBracloc, RBracloc,
+ return Actions.ActOnClassMessage(CurScope,
+ ReceiverName, Sel, LBracloc, RBracloc,
&KeyExprs[0]);
return Actions.ActOnInstanceMessage(ReceiverExpr, Sel, LBracloc, RBracloc,
&KeyExprs[0]);