Added diagnostic messages for ctor-initializers.

This commit is contained in:
Roberto Raggi
2009-12-07 14:33:13 +01:00
parent 2be825784c
commit fd4aee7ef6

View File

@@ -1837,6 +1837,8 @@ bool Parser::parseMemInitializerList(MemInitializerListAST *&node)
if (parseMemInitializer(*initializer))
initializer = &(*initializer)->next;
else
_translationUnit->error(cursor(), "expected a member initializer");
}
return true;
}
@@ -1847,20 +1849,19 @@ bool Parser::parseMemInitializer(MemInitializerListAST *&node)
{
DEBUG_THIS_RULE();
NameAST *name = 0;
if (parseName(name) && LA() == T_LPAREN) {
if (! parseName(name))
return false;
MemInitializerAST *ast = new (_pool) MemInitializerAST;
ast->name = name;
ast->lparen_token = consumeToken();
match(T_LPAREN, &ast->lparen_token);
parseExpressionList(ast->expression_list);
if (LA() == T_RPAREN)
ast->rparen_token = consumeToken();
match(T_RPAREN, &ast->rparen_token);
node = new (_pool) MemInitializerListAST;
node->value = ast;
return true;
}
return false;
}
bool Parser::parseTypeIdList(ExpressionListAST *&node)
{