diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-11-10 14:16:39 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-11-10 16:20:11 +0100 |
commit | aff9a743668575898d5eafe30e8e240e4a53342a (patch) | |
tree | 0fe33338c6c51ae25d85055021a64f75996724a8 /src/shared/cplusplus/Parser.cpp | |
parent | 73a4f2977aaf68a46bd46062e41144349feda878 (diff) | |
download | qt-creator-aff9a743668575898d5eafe30e8e240e4a53342a.tar.gz |
Cleanup NewArrayDeclaratorAST
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 86f046b9c5..9179f21db1 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -3810,7 +3810,7 @@ bool Parser::parseNewTypeId(NewTypeIdAST *&node) PtrOperatorAST **ptrop_it = &ast->ptr_operators; while (parsePtrOperator(*ptrop_it)) ptrop_it = &(*ptrop_it)->next; - NewArrayDeclaratorAST **it = &ast->new_array_declarators; + NewArrayDeclaratorListAST **it = &ast->new_array_declarators; while (parseNewArrayDeclarator(*it)) it = &(*it)->next; node = ast; @@ -3818,7 +3818,7 @@ bool Parser::parseNewTypeId(NewTypeIdAST *&node) } -bool Parser::parseNewArrayDeclarator(NewArrayDeclaratorAST *&node) +bool Parser::parseNewArrayDeclarator(NewArrayDeclaratorListAST *&node) { DEBUG_THIS_RULE(); if (LA() != T_LBRACKET) @@ -3828,7 +3828,9 @@ bool Parser::parseNewArrayDeclarator(NewArrayDeclaratorAST *&node) ast->lbracket_token = consumeToken(); parseExpression(ast->expression); match(T_RBRACKET, &ast->rbracket_token); - node = ast; + + node = new (_pool) NewArrayDeclaratorListAST; + node->value = ast; return true; } |