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

@@ -1369,6 +1369,8 @@ unsigned FunctionDeclaratorAST::firstToken() const
if (cv_qualifier_list)
if (unsigned candidate = cv_qualifier_list->firstToken())
return candidate;
if (ref_qualifier_token)
return ref_qualifier_token;
if (exception_specification)
if (unsigned candidate = exception_specification->firstToken())
return candidate;
@@ -1393,6 +1395,8 @@ unsigned FunctionDeclaratorAST::lastToken() const
if (exception_specification)
if (unsigned candidate = exception_specification->lastToken())
return candidate;
if (ref_qualifier_token)
return ref_qualifier_token + 1;
if (cv_qualifier_list)
if (unsigned candidate = cv_qualifier_list->lastToken())
return candidate;
@@ -3067,12 +3071,16 @@ unsigned PointerToMemberAST::firstToken() const
if (cv_qualifier_list)
if (unsigned candidate = cv_qualifier_list->firstToken())
return candidate;
if (ref_qualifier_token)
return ref_qualifier_token;
return 0;
}
/** \generated */
unsigned PointerToMemberAST::lastToken() const
{
if (ref_qualifier_token)
return ref_qualifier_token + 1;
if (cv_qualifier_list)
if (unsigned candidate = cv_qualifier_list->lastToken())
return candidate;