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

@@ -1319,15 +1319,11 @@ bool ASTMatcher::match(MemInitializerAST *node, MemInitializerAST *pattern)
else if (! AST::match(node->name, pattern->name, this))
return false;
pattern->lparen_token = node->lparen_token;
if (! pattern->expression_list)
pattern->expression_list = node->expression_list;
else if (! AST::match(node->expression_list, pattern->expression_list, this))
if (! pattern->expression)
pattern->expression = node->expression;
else if (! AST::match(node->expression, pattern->expression, this))
return false;
pattern->rparen_token = node->rparen_token;
return true;
}