Fix g++.dg/template/pr84789.C on new concepts branch.
On the concepts branch I ran into trouble where a pre-parsed dependent nested-name-specifier got replaced on a subsequent parse with is_declaration by one with typenames resolved, which was then used wrongly on a further parse with !is_declaration. * parser.c (cp_parser_nested_name_specifier_opt): If the token is already CPP_NESTED_NAME_SPECIFIER, leave it alone. From-SVN: r273513
This commit is contained in:
parent
10b04d1e0b
commit
19bd902826
2 changed files with 7 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2019-07-16 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* parser.c (cp_parser_nested_name_specifier_opt): If the token is
|
||||
already CPP_NESTED_NAME_SPECIFIER, leave it alone.
|
||||
|
||||
2019-07-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* parser.c (cp_parser_omp_clause_name): Handle order clause.
|
||||
|
|
|
@ -6275,7 +6275,8 @@ cp_parser_nested_name_specifier_opt (cp_parser *parser,
|
|||
cp_token *token;
|
||||
|
||||
/* Remember where the nested-name-specifier starts. */
|
||||
if (cp_parser_uncommitted_to_tentative_parse_p (parser))
|
||||
if (cp_parser_uncommitted_to_tentative_parse_p (parser)
|
||||
&& cp_lexer_next_token_is_not (parser->lexer, CPP_NESTED_NAME_SPECIFIER))
|
||||
{
|
||||
start = cp_lexer_token_position (parser->lexer, false);
|
||||
push_deferring_access_checks (dk_deferred);
|
||||
|
|
Loading…
Add table
Reference in a new issue