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