From: Argyrios Kyrtzidis Date: Sat, 16 Aug 2008 19:34:46 +0000 (+0000) Subject: Move handling of postfix-expression suffixes out of ParseCXXThis and into ParseCastEx... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=289d77302aa81dc24bf7aa75b36cb00a70a44bb5;p=clang Move handling of postfix-expression suffixes out of ParseCXXThis and into ParseCastExpression. No functionality change, this follows the convention of how postfix-expressions are handled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54849 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index 2ecca33cf5..c8856198fd 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -540,7 +540,9 @@ Parser::ExprResult Parser::ParseCastExpression(bool isUnaryExpression) { case tok::kw_static_cast: return ParseCXXCasts(); case tok::kw_this: - return ParseCXXThis(); + Res = ParseCXXThis(); + // This can be followed by postfix-expr pieces. + return ParsePostfixExpressionSuffix(Res); case tok::at: { SourceLocation AtLoc = ConsumeToken(); return ParseObjCAtExpression(AtLoc); diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index 93eaa2dedd..45f482792d 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -112,10 +112,5 @@ Parser::ExprResult Parser::ParseThrowExpression() { Parser::ExprResult Parser::ParseCXXThis() { assert(Tok.is(tok::kw_this) && "Not 'this'!"); SourceLocation ThisLoc = ConsumeToken(); - - ExprResult Res = Actions.ActOnCXXThis(ThisLoc); - if (Res.isInvalid) - return Res; - - return ParsePostfixExpressionSuffix(Res); + return Actions.ActOnCXXThis(ThisLoc); }