forked from qt-creator/qt-creator
Added diagnostic messages for ctor-initializers.
This commit is contained in:
@@ -1837,6 +1837,8 @@ bool Parser::parseMemInitializerList(MemInitializerListAST *&node)
|
|||||||
|
|
||||||
if (parseMemInitializer(*initializer))
|
if (parseMemInitializer(*initializer))
|
||||||
initializer = &(*initializer)->next;
|
initializer = &(*initializer)->next;
|
||||||
|
else
|
||||||
|
_translationUnit->error(cursor(), "expected a member initializer");
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1847,20 +1849,19 @@ bool Parser::parseMemInitializer(MemInitializerListAST *&node)
|
|||||||
{
|
{
|
||||||
DEBUG_THIS_RULE();
|
DEBUG_THIS_RULE();
|
||||||
NameAST *name = 0;
|
NameAST *name = 0;
|
||||||
if (parseName(name) && LA() == T_LPAREN) {
|
if (! parseName(name))
|
||||||
|
return false;
|
||||||
|
|
||||||
MemInitializerAST *ast = new (_pool) MemInitializerAST;
|
MemInitializerAST *ast = new (_pool) MemInitializerAST;
|
||||||
ast->name = name;
|
ast->name = name;
|
||||||
ast->lparen_token = consumeToken();
|
match(T_LPAREN, &ast->lparen_token);
|
||||||
parseExpressionList(ast->expression_list);
|
parseExpressionList(ast->expression_list);
|
||||||
if (LA() == T_RPAREN)
|
match(T_RPAREN, &ast->rparen_token);
|
||||||
ast->rparen_token = consumeToken();
|
|
||||||
|
|
||||||
node = new (_pool) MemInitializerListAST;
|
node = new (_pool) MemInitializerListAST;
|
||||||
node->value = ast;
|
node->value = ast;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Parser::parseTypeIdList(ExpressionListAST *&node)
|
bool Parser::parseTypeIdList(ExpressionListAST *&node)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user