forked from OSchip/llvm-project
parent
0c6e7ae4cc
commit
9a420f9f42
|
@ -2725,10 +2725,7 @@ private:
|
|||
bool ParseGreaterThanInTemplateList(SourceLocation &RAngleLoc,
|
||||
bool ConsumeLastToken,
|
||||
bool ObjCGenericList);
|
||||
bool ParseTemplateIdAfterTemplateName(TemplateTy Template,
|
||||
SourceLocation TemplateNameLoc,
|
||||
const CXXScopeSpec &SS,
|
||||
bool ConsumeLastToken,
|
||||
bool ParseTemplateIdAfterTemplateName(bool ConsumeLastToken,
|
||||
SourceLocation &LAngleLoc,
|
||||
TemplateArgList &TemplateArgs,
|
||||
SourceLocation &RAngleLoc);
|
||||
|
|
|
@ -1137,8 +1137,8 @@ TypeResult Parser::ParseBaseTypeSpecifier(SourceLocation &BaseLoc,
|
|||
if (!Template) {
|
||||
TemplateArgList TemplateArgs;
|
||||
SourceLocation LAngleLoc, RAngleLoc;
|
||||
ParseTemplateIdAfterTemplateName(nullptr, IdLoc, SS, true, LAngleLoc,
|
||||
TemplateArgs, RAngleLoc);
|
||||
ParseTemplateIdAfterTemplateName(true, LAngleLoc, TemplateArgs,
|
||||
RAngleLoc);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1530,8 +1530,8 @@ void Parser::ParseClassSpecifier(tok::TokenKind TagTokKind,
|
|||
// a class (or template thereof).
|
||||
TemplateArgList TemplateArgs;
|
||||
SourceLocation LAngleLoc, RAngleLoc;
|
||||
if (ParseTemplateIdAfterTemplateName(
|
||||
nullptr, NameLoc, SS, true, LAngleLoc, TemplateArgs, RAngleLoc)) {
|
||||
if (ParseTemplateIdAfterTemplateName(true, LAngleLoc, TemplateArgs,
|
||||
RAngleLoc)) {
|
||||
// We couldn't parse the template argument list at all, so don't
|
||||
// try to give any location information for the list.
|
||||
LAngleLoc = RAngleLoc = SourceLocation();
|
||||
|
|
|
@ -2114,11 +2114,8 @@ bool Parser::ParseUnqualifiedIdTemplateId(CXXScopeSpec &SS,
|
|||
// Parse the enclosed template argument list.
|
||||
SourceLocation LAngleLoc, RAngleLoc;
|
||||
TemplateArgList TemplateArgs;
|
||||
if (Tok.is(tok::less) &&
|
||||
ParseTemplateIdAfterTemplateName(Template, Id.StartLocation,
|
||||
SS, true, LAngleLoc,
|
||||
TemplateArgs,
|
||||
RAngleLoc))
|
||||
if (Tok.is(tok::less) && ParseTemplateIdAfterTemplateName(
|
||||
true, LAngleLoc, TemplateArgs, RAngleLoc))
|
||||
return true;
|
||||
|
||||
if (Id.getKind() == UnqualifiedId::IK_Identifier ||
|
||||
|
|
|
@ -898,10 +898,7 @@ bool Parser::ParseGreaterThanInTemplateList(SourceLocation &RAngleLoc,
|
|||
/// last token in the stream (e.g., so that it can be replaced with an
|
||||
/// annotation token).
|
||||
bool
|
||||
Parser::ParseTemplateIdAfterTemplateName(TemplateTy Template,
|
||||
SourceLocation TemplateNameLoc,
|
||||
const CXXScopeSpec &SS,
|
||||
bool ConsumeLastToken,
|
||||
Parser::ParseTemplateIdAfterTemplateName(bool ConsumeLastToken,
|
||||
SourceLocation &LAngleLoc,
|
||||
TemplateArgList &TemplateArgs,
|
||||
SourceLocation &RAngleLoc) {
|
||||
|
@ -983,9 +980,7 @@ bool Parser::AnnotateTemplateIdToken(TemplateTy Template, TemplateNameKind TNK,
|
|||
// Parse the enclosed template argument list.
|
||||
SourceLocation LAngleLoc, RAngleLoc;
|
||||
TemplateArgList TemplateArgs;
|
||||
bool Invalid = ParseTemplateIdAfterTemplateName(Template,
|
||||
TemplateNameLoc,
|
||||
SS, false, LAngleLoc,
|
||||
bool Invalid = ParseTemplateIdAfterTemplateName(false, LAngleLoc,
|
||||
TemplateArgs,
|
||||
RAngleLoc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue