diff options
author | Christian Kamm <kamm@incasoftware.de> | 2012-09-19 11:26:33 +0200 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2012-09-19 12:23:18 +0200 |
commit | aa645254a240845aa69d24896b2e88120884d938 (patch) | |
tree | d7a95c5b38d641fa1c073994bc436a6808a80a3d /src/libs/3rdparty/cplusplus/Parser.cpp | |
parent | 83da5f68bec13dcb05b84a005f4bb3bc7e8bc82b (diff) | |
download | qt-creator-aa645254a240845aa69d24896b2e88120884d938.tar.gz |
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>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Parser.cpp')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Parser.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp index 58b4f90535..8c2b26af07 100644 --- a/src/libs/3rdparty/cplusplus/Parser.cpp +++ b/src/libs/3rdparty/cplusplus/Parser.cpp @@ -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; } |