Recognize C++0x sizeof... expressions.

This commit is contained in:
Roberto Raggi
2010-03-25 10:43:16 +01:00
parent ddcc40d0fc
commit 3c8d12562e
3 changed files with 17 additions and 1 deletions

View File

@@ -4268,6 +4268,11 @@ bool Parser::parseUnaryExpression(ExpressionAST *&node)
SizeofExpressionAST *ast = new (_pool) SizeofExpressionAST;
ast->sizeof_token = consumeToken();
// sizeof...(Args)
if (_cxx0xEnabled && LA() == T_DOT_DOT_DOT && (LA(2) == T_IDENTIFIER || (LA(2) == T_LPAREN && LA(3) == T_IDENTIFIER
&& LA(4) == T_RPAREN)))
ast->dot_dot_dot_token = consumeToken();
if (LA() == T_LPAREN) {
unsigned lparen_token = consumeToken();
if (parseTypeId(ast->expression) && LA() == T_RPAREN) {