C++11: Allow uniform initialization in ctor init lists.

So
class C { C() : _x{12}, _y({12}) {} };
now parses correctly.

Change-Id: I4281dcb0541a86b550e74630cad6ae0a59fef1b4
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Christian Kamm
2012-09-17 09:58:09 +02:00
committed by hjk
parent 903ba378c2
commit b9f6f1bcf7
16 changed files with 88 additions and 71 deletions

View File

@@ -536,11 +536,7 @@ void FindUsages::memInitializer(MemInitializerAST *ast)
(void) switchScope(previousScope);
}
}
// unsigned lparen_token = ast->lparen_token;
for (ExpressionListAST *it = ast->expression_list; it; it = it->next) {
this->expression(it->value);
}
// unsigned rparen_token = ast->rparen_token;
this->expression(ast->expression);
}
bool FindUsages::visit(NestedNameSpecifierAST *ast)
@@ -561,8 +557,11 @@ void FindUsages::nestedNameSpecifier(NestedNameSpecifierAST *ast)
bool FindUsages::visit(ExpressionListParenAST *ast)
{
(void) ast;
Q_ASSERT(!"unreachable");
// unsigned lparen_token = ast->lparen_token;
for (ExpressionListAST *it = ast->expression_list; it; it = it->next) {
this->expression(it->value);
}
// unsigned rparen_token = ast->rparen_token;
return false;
}

View File

@@ -137,7 +137,6 @@ protected:
virtual bool visit(DynamicExceptionSpecificationAST *ast);
virtual bool visit(MemInitializerAST *ast);
virtual bool visit(NestedNameSpecifierAST *ast);
virtual bool visit(ExpressionListParenAST *ast);
virtual bool visit(NewArrayDeclaratorAST *ast);
virtual bool visit(NewInitializerAST *ast);
virtual bool visit(NewTypeIdAST *ast);
@@ -214,6 +213,7 @@ protected:
virtual bool visit(ObjCSelectorExpressionAST *ast);
virtual bool visit(LambdaExpressionAST *ast);
virtual bool visit(BracedInitializerAST *ast);
virtual bool visit(ExpressionListParenAST *ast);
// DeclarationAST
virtual bool visit(SimpleDeclarationAST *ast);