forked from qt-creator/qt-creator
C++11: More (expression-list) or brace-init-list.
This time in the 'new' expression. Changed it to make
new C(1, abc...) and new C{1, abc}
work.
Change-Id: I7232798fd083b653ee04ef9ede386d6536133e16
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
15
src/libs/3rdparty/cplusplus/Parser.cpp
vendored
15
src/libs/3rdparty/cplusplus/Parser.cpp
vendored
@@ -5091,20 +5091,13 @@ bool Parser::parseNewArrayDeclarator(NewArrayDeclaratorListAST *&node)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Parser::parseNewInitializer(NewInitializerAST *&node)
|
||||
bool Parser::parseNewInitializer(ExpressionAST *&node)
|
||||
{
|
||||
DEBUG_THIS_RULE();
|
||||
if (LA() == T_LPAREN) {
|
||||
unsigned lparen_token = consumeToken();
|
||||
ExpressionAST *expression = 0;
|
||||
if (LA() == T_RPAREN || parseExpression(expression)) {
|
||||
NewInitializerAST *ast = new (_pool) NewInitializerAST;
|
||||
ast->lparen_token = lparen_token;
|
||||
ast->expression = expression;
|
||||
match(T_RPAREN, &ast->rparen_token);
|
||||
node = ast;
|
||||
return true;
|
||||
}
|
||||
return parseExpressionListParen(node);
|
||||
} else if (_cxx0xEnabled && LA() == T_LBRACE) {
|
||||
return parseBracedInitList0x(node);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user