HomePhabricator

Remove redundant CXXScopeSpec from TemplateIdAnnotation.

Authored by rsmith on Jan 17 2020, 3:42 PM.

Description

Remove redundant CXXScopeSpec from TemplateIdAnnotation.

A TemplateIdAnnotation represents only a template-id, not a
nested-name-specifier plus a template-id. Don't make a redundant copy of
the CXXScopeSpec and store it on the template-id annotation.

This slightly improves error recovery by more properly handling the case
where we would form an invalid CXXScopeSpec while parsing a typename
specifier, instead of accidentally putting the token stream into a
broken "annot_template_id with a scope specifier, but with no preceding
annot_cxxscope token" state.

Details

Committed
rsmithJan 17 2020, 3:47 PM
Parents
rG49dc3a94671d: [gn build] Port d3db13af7e5
Branches
Unknown
Tags
Unknown