From ffccb612af75d72ef851af54c3cd1d8523950443 Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@nokia.com>
Date: Mon, 10 Aug 2009 12:44:52 +0200
Subject: [PATCH] Parsing fix for casts in ObjC message expressions.

---
 src/shared/cplusplus/Parser.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 3ed4839928f..654fa26c7c1 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -3076,7 +3076,12 @@ bool Parser::parseObjCSelectorArg(ObjCSelectorArgumentAST *&selNode, ObjCMessage
     selNode->colon_token = consumeToken();
 
     argNode = new (_pool) ObjCMessageArgumentAST;
-    parseAssignmentExpression(argNode->parameter_value_expression);
+    ExpressionAST *expr = argNode->parameter_value_expression;
+    unsigned expressionStart = cursor();
+    if (parseAssignmentExpression(expr) && LA() == T_COLON && expr->asCastExpression()) {
+        rewind(expressionStart);
+        parseUnaryExpression(expr);
+    }
     return true;
 }
 
-- 
GitLab