diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index f3f53d321ff030981b490178fd99c12034082fd7..b684b799fa836e4717d7d8b52c0ac60874fe5182 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -2328,6 +2328,10 @@ bool Parser::parseTypeIdList(ExpressionListAST *&node) *expression_list_ptr = new (_pool) ExpressionListAST; (*expression_list_ptr)->value = typeId; expression_list_ptr = &(*expression_list_ptr)->next; + + if (_cxx0xEnabled && LA() == T_DOT_DOT_DOT) + consumeToken(); // ### store this token + while (LA() == T_COMMA) { consumeToken(); @@ -2335,6 +2339,9 @@ bool Parser::parseTypeIdList(ExpressionListAST *&node) *expression_list_ptr = new (_pool) ExpressionListAST; (*expression_list_ptr)->value = typeId; expression_list_ptr = &(*expression_list_ptr)->next; + + if (_cxx0xEnabled && LA() == T_DOT_DOT_DOT) + consumeToken(); // ### store this token } } return true;