forked from OSchip/llvm-project
Simplify diagnostic tag type using the token kind formatter
As far as the parser is concerned the tag type is always a keyword. llvm-svn: 198606
This commit is contained in:
parent
addd3669d4
commit
01d65e1387
|
@ -627,8 +627,7 @@ def err_typename_refers_to_non_type_template : Error<
|
|||
def err_expected_type_name_after_typename : Error<
|
||||
"expected an identifier or template-id after '::'">;
|
||||
def err_explicit_spec_non_template : Error<
|
||||
"explicit %select{specialization|instantiation}0 of non-template "
|
||||
"%select{class|struct|union|interface}1 %2">;
|
||||
"explicit %select{specialization|instantiation}0 of non-template %1 %2">;
|
||||
|
||||
def err_default_template_template_parameter_not_template : Error<
|
||||
"default template argument for a template template parameter must be a class "
|
||||
|
|
|
@ -1237,13 +1237,8 @@ void Parser::ParseClassSpecifier(tok::TokenKind TagTokKind,
|
|||
}
|
||||
|
||||
Diag(NameLoc, diag::err_explicit_spec_non_template)
|
||||
<< (TemplateInfo.Kind == ParsedTemplateInfo::ExplicitInstantiation)
|
||||
<< (TagType == DeclSpec::TST_class? 0
|
||||
: TagType == DeclSpec::TST_struct? 1
|
||||
: TagType == DeclSpec::TST_union? 2
|
||||
: 3)
|
||||
<< Name
|
||||
<< SourceRange(LAngleLoc, RAngleLoc);
|
||||
<< (TemplateInfo.Kind == ParsedTemplateInfo::ExplicitInstantiation)
|
||||
<< TagTokKind << Name << SourceRange(LAngleLoc, RAngleLoc);
|
||||
|
||||
// Strip off the last template parameter list if it was empty, since
|
||||
// we've removed its template argument list.
|
||||
|
|
Loading…
Reference in New Issue