From fc58ca4af60d8a6209fa7df029e59a34cafe01b3 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 8 Apr 2009 19:50:10 +0000 Subject: Fixed a problem using property syntax on a 'super' used as receiver. llvm-svn: 68631 --- clang/lib/Parse/ParseObjc.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'clang/lib/Parse/ParseObjc.cpp') diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp index 8a942c77027..bac3f91d0af 100644 --- a/clang/lib/Parse/ParseObjc.cpp +++ b/clang/lib/Parse/ParseObjc.cpp @@ -1449,9 +1449,11 @@ Parser::OwningExprResult Parser::ParseObjCMessageExpression() { // Parse receiver if (isTokObjCMessageIdentifierReceiver()) { IdentifierInfo *ReceiverName = Tok.getIdentifierInfo(); - SourceLocation NameLoc = ConsumeToken(); - return ParseObjCMessageExpressionBody(LBracLoc, NameLoc, ReceiverName, - ExprArg(Actions)); + if (ReceiverName != Ident_super || GetLookAheadToken(1).isNot(tok::period)) { + SourceLocation NameLoc = ConsumeToken(); + return ParseObjCMessageExpressionBody(LBracLoc, NameLoc, ReceiverName, + ExprArg(Actions)); + } } OwningExprResult Res(ParseExpression()); -- cgit v1.2.3