'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]);