C++11: Accept ref-qualifiers in function declarators.

Means
void foo() const &; void bar() &&;
and the corresponding pointer-to-member declarators
now parse.

Change-Id: Idbf295bd4f51cd5d9e38efcac1940b8cc2e32fce
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Christian Kamm
2012-09-17 12:26:49 +02:00
committed by hjk
parent 6a6083cbf2
commit 8c1a45565c
9 changed files with 64 additions and 2 deletions

View File

@@ -479,6 +479,8 @@ virtual bool visit(FunctionDeclaratorAST *ast)
terminal(ast->rparen_token, ast);
for (SpecifierListAST *iter = ast->cv_qualifier_list; iter; iter = iter->next)
nonterminal(iter->value);
if (ast->ref_qualifier_token)
terminal(ast->ref_qualifier_token, ast);
nonterminal(ast->exception_specification);
nonterminal(ast->trailing_return_type);
nonterminal(ast->as_cpp_initializer);
@@ -1028,6 +1030,8 @@ virtual bool visit(PointerToMemberAST *ast)
terminal(ast->star_token, ast);
for (SpecifierListAST *iter = ast->cv_qualifier_list; iter; iter = iter->next)
nonterminal(iter->value);
if (ast->ref_qualifier_token)
terminal(ast->ref_qualifier_token, ast);
return false;
}