C++11: More (expression-list) or brace-init-list.

This time in the 'new' expression. Changed it to make
new C(1, abc...) and new C{1, abc}
work.

Change-Id: I7232798fd083b653ee04ef9ede386d6536133e16
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Christian Kamm
2012-09-19 11:26:33 +02:00
committed by hjk
parent 83da5f68be
commit aa645254a2
19 changed files with 19 additions and 177 deletions

View File

@@ -198,7 +198,6 @@ public:
virtual NestedNameSpecifierAST *asNestedNameSpecifier() { return 0; }
virtual NewArrayDeclaratorAST *asNewArrayDeclarator() { return 0; }
virtual NewExpressionAST *asNewExpression() { return 0; }
virtual NewInitializerAST *asNewInitializer() { return 0; }
virtual NewTypeIdAST *asNewTypeId() { return 0; }
virtual NoExceptSpecificationAST *asNoExceptSpecification() { return 0; }
virtual NumericLiteralAST *asNumericLiteral() { return 0; }
@@ -2502,7 +2501,7 @@ public:
NewTypeIdAST *new_type_id;
NewInitializerAST *new_initializer;
ExpressionAST *new_initializer; // either ExpressionListParenAST or BracedInitializerAST
public:
NewExpressionAST()
@@ -2528,32 +2527,6 @@ protected:
virtual bool match0(AST *, ASTMatcher *);
};
class CPLUSPLUS_EXPORT NewInitializerAST: public AST
{
public:
unsigned lparen_token;
ExpressionAST *expression;
unsigned rparen_token;
public:
NewInitializerAST()
: lparen_token(0)
, expression(0)
, rparen_token(0)
{}
virtual NewInitializerAST *asNewInitializer() { return this; }
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual NewInitializerAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
virtual bool match0(AST *, ASTMatcher *);
};
class CPLUSPLUS_EXPORT NewTypeIdAST: public AST
{
public: