github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions h,cpp --
clang/test/AST/explicit-instantiation-source-info.cpp
clang/test/SemaTemplate/explicit-instantiation-diag-location.cpp
clang/include/clang/AST/ASTNodeTraverser.h
clang/include/clang/AST/DeclTemplate.h clang/include/clang/AST/JSONNodeDumper.h
clang/include/clang/AST/RecursiveASTVisitor.h
clang/include/clang/AST/TextNodeDumper.h
clang/include/clang/Serialization/ASTBitCodes.h clang/lib/AST/DeclTemplate.cpp
clang/lib/AST/JSONNodeDumper.cpp clang/lib/AST/TextNodeDumper.cpp
clang/lib/CIR/CodeGen/CIRGenDecl.cpp clang/lib/CIR/CodeGen/CIRGenModule.cpp
clang/lib/CodeGen/CGDecl.cpp clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/Sema/SemaTemplate.cpp clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/lib/Serialization/ASTCommon.cpp clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/lib/Tooling/Syntax/BuildTree.cpp
clang/test/AST/ast-dump-templates-pattern.cpp
clang/test/AST/ast-dump-templates.cpp clang/tools/libclang/CIndex.cpp
--diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/include/clang/AST/ASTNodeTraverser.h
b/clang/include/clang/AST/ASTNodeTraverser.h
index 39a6864bf..77a4d5655 100644
--- a/clang/include/clang/AST/ASTNodeTraverser.h
+++ b/clang/include/clang/AST/ASTNodeTraverser.h
@@ -685,7 +685,8 @@ public:
void VisitExplicitInstantiationDecl(const ExplicitInstantiationDecl *D) {
// The specialization is already elsewhere in the AST; don't re-traverse
it.
- // Traverse source-location sub-nodes: template arguments and
type-as-written.
+ // Traverse source-location sub-nodes: template arguments and
+ // type-as-written.
if (const auto *ArgsAsWritten = D->getTemplateArgsAsWritten())
for (unsigned I = 0, E = ArgsAsWritten->NumTemplateArgs; I != E; ++I)
Visit((*ArgsAsWritten)[I].getArgument(),
diff --git a/clang/include/clang/AST/DeclTemplate.h
b/clang/include/clang/AST/DeclTemplate.h
index b470b5205..6f148e1cf 100644
--- a/clang/include/clang/AST/DeclTemplate.h
+++ b/clang/include/clang/AST/DeclTemplate.h
@@ -3440,7 +3440,8 @@ class ExplicitInstantiationDecl : public Decl {
/// arguments were deduced.
const ASTTemplateArgumentListInfo *TemplateArgsAsWritten = nullptr;
- /// Location of the entity name (e.g., 'foo' in 'template void
ns::foo<int>(int)').
+ /// Location of the entity name (e.g., 'foo' in 'template void
+ /// ns::foo<int>(int)').
SourceLocation NameLoc;
/// Type source info for the declaration type:
@@ -3455,10 +3456,8 @@ class ExplicitInstantiationDecl : public Decl {
unsigned TSK : 3;
ExplicitInstantiationDecl(DeclContext *DC, SourceRange Range,
- NamedDecl *Specialization,
- SourceLocation ExternLoc,
- SourceLocation TemplateLoc,
- SourceLocation TagKWLoc,
+ NamedDecl *Specialization, SourceLocation
ExternLoc,
+ SourceLocation TemplateLoc, SourceLocation
TagKWLoc,
NestedNameSpecifierLoc QualifierLoc,
const ASTTemplateArgumentListInfo *ArgsAsWritten,
SourceLocation NameLoc,
@@ -3469,8 +3468,9 @@ class ExplicitInstantiationDecl : public Decl {
TagKWLoc(TagKWLoc), QualifierLoc(QualifierLoc),
TemplateArgsAsWritten(ArgsAsWritten), NameLoc(NameLoc),
TypeAsWritten(TypeAsWritten), TSK(TSK) {
- assert((TSK == TSK_ExplicitInstantiationDeclaration) == ExternLoc.isValid()
- && "ExternLoc should be valid iff TSK is a declaration");
+ assert((TSK == TSK_ExplicitInstantiationDeclaration) ==
+ ExternLoc.isValid() &&
+ "ExternLoc should be valid iff TSK is a declaration");
}
ExplicitInstantiationDecl(EmptyShell Empty)
diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp
index 76e3de539..ecce1a43d 100644
--- a/clang/lib/AST/DeclTemplate.cpp
+++ b/clang/lib/AST/DeclTemplate.cpp
@@ -1792,12 +1792,11 @@ ExplicitInstantiationDecl
*ExplicitInstantiationDecl::Create(
NamedDecl *Specialization, SourceLocation ExternLoc,
SourceLocation TemplateLoc, SourceLocation TagKWLoc,
NestedNameSpecifierLoc QualifierLoc,
- const ASTTemplateArgumentListInfo *ArgsAsWritten,
- SourceLocation NameLoc, TypeSourceInfo *TypeAsWritten,
- TemplateSpecializationKind TSK) {
+ const ASTTemplateArgumentListInfo *ArgsAsWritten, SourceLocation NameLoc,
+ TypeSourceInfo *TypeAsWritten, TemplateSpecializationKind TSK) {
return new (C, DC) ExplicitInstantiationDecl(
- DC, Range, Specialization, ExternLoc, TemplateLoc, TagKWLoc,
- QualifierLoc, ArgsAsWritten, NameLoc, TypeAsWritten, TSK);
+ DC, Range, Specialization, ExternLoc, TemplateLoc, TagKWLoc,
QualifierLoc,
+ ArgsAsWritten, NameLoc, TypeAsWritten, TSK);
}
ExplicitInstantiationDecl *
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 66fc2b6fc..a94f0e2fe 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -9320,9 +9320,8 @@ static void addExplicitInstantiationDecl(
ASTContext &Context, DeclContext *CurContext, const CXXScopeSpec &SS,
SourceLocation EndLoc, NamedDecl *Spec, SourceLocation ExternLoc,
SourceLocation TemplateLoc, SourceLocation TagKWLoc,
- const ASTTemplateArgumentListInfo *ArgsAsWritten,
- SourceLocation NameLoc, TypeSourceInfo *TypeAsWritten,
- TemplateSpecializationKind TSK) {
+ const ASTTemplateArgumentListInfo *ArgsAsWritten, SourceLocation NameLoc,
+ TypeSourceInfo *TypeAsWritten, TemplateSpecializationKind TSK) {
NestedNameSpecifierLoc QualifierLoc;
if (SS.isNotEmpty())
QualifierLoc = SS.getWithLocInContext(Context);
@@ -10438,10 +10437,10 @@ DeclResult Sema::ActOnExplicitInstantiation(
// Set the template specialization kind.
Specialization->setTemplateSpecializationKind(TSK);
- addExplicitInstantiationDecl(
- Context, CurContext, SS, RAngleLoc, Specialization, ExternLoc,
- TemplateLoc, KWLoc, Specialization->getTemplateArgsAsWritten(),
- TemplateNameLoc, nullptr, TSK);
+ addExplicitInstantiationDecl(Context, CurContext, SS, RAngleLoc,
+ Specialization, ExternLoc, TemplateLoc, KWLoc,
+ Specialization->getTemplateArgsAsWritten(),
+ TemplateNameLoc, nullptr, TSK);
return Specialization;
}
@@ -10531,10 +10530,10 @@ DeclResult Sema::ActOnExplicitInstantiation(
Specialization->setTemplateSpecializationKind(TSK);
}
- addExplicitInstantiationDecl(
- Context, CurContext, SS, RAngleLoc, Specialization, ExternLoc,
- TemplateLoc, KWLoc, Specialization->getTemplateArgsAsWritten(),
- TemplateNameLoc, nullptr, TSK);
+ addExplicitInstantiationDecl(Context, CurContext, SS, RAngleLoc,
+ Specialization, ExternLoc, TemplateLoc, KWLoc,
+ Specialization->getTemplateArgsAsWritten(),
+ TemplateNameLoc, nullptr, TSK);
return Specialization;
}
@@ -10651,8 +10650,8 @@ Sema::ActOnExplicitInstantiation(Scope *S,
SourceLocation ExternLoc,
MarkVTableUsed(NameLoc, RecordDef, true);
addExplicitInstantiationDecl(Context, CurContext, SS, NameLoc, Record,
- ExternLoc, TemplateLoc, KWLoc, nullptr,
- NameLoc, nullptr, TSK);
+ ExternLoc, TemplateLoc, KWLoc, nullptr, NameLoc,
+ nullptr, TSK);
return TagD;
}
@@ -10874,12 +10873,13 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
const ASTTemplateArgumentListInfo *ArgsAsWritten = nullptr;
if (auto *VTSD = dyn_cast<VarTemplateSpecializationDecl>(Prev))
ArgsAsWritten = VTSD->getTemplateArgsAsWritten();
- addExplicitInstantiationDecl(
- Context, CurContext, D.getCXXScopeSpec(),
- D.getSourceRange().getEnd(), Prev, ExternLoc, TemplateLoc,
- SourceLocation(), ArgsAsWritten, D.getIdentifierLoc(), T, TSK);
+ addExplicitInstantiationDecl(Context, CurContext, D.getCXXScopeSpec(),
+ D.getSourceRange().getEnd(), Prev,
ExternLoc,
+ TemplateLoc, SourceLocation(),
ArgsAsWritten,
+ D.getIdentifierLoc(), T, TSK);
// Don't return the EID to the Parser — doing so would trigger
- // unrelated semantic actions (e.g. access checks via
FinalizeDeclaration).
+ // unrelated semantic actions (e.g. access checks via
+ // FinalizeDeclaration).
return (Decl *)nullptr;
}
}
@@ -11063,12 +11063,13 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
if (HasExplicitTemplateArgs)
ArgsAsWritten =
ASTTemplateArgumentListInfo::Create(Context, TemplateArgs);
- addExplicitInstantiationDecl(
- Context, CurContext, D.getCXXScopeSpec(),
- D.getSourceRange().getEnd(), Specialization, ExternLoc, TemplateLoc,
- SourceLocation(), ArgsAsWritten, D.getIdentifierLoc(), T, TSK);
+ addExplicitInstantiationDecl(Context, CurContext, D.getCXXScopeSpec(),
+ D.getSourceRange().getEnd(), Specialization,
+ ExternLoc, TemplateLoc, SourceLocation(),
+ ArgsAsWritten, D.getIdentifierLoc(), T,
TSK);
// Don't return the EID to the Parser — doing so would trigger
- // unrelated semantic actions (e.g. access checks via
FinalizeDeclaration).
+ // unrelated semantic actions (e.g. access checks via
+ // FinalizeDeclaration).
return (Decl *)nullptr;
}
}
@@ -11131,10 +11132,10 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
if (HasExplicitTemplateArgs)
ArgsAsWritten =
ASTTemplateArgumentListInfo::Create(Context, TemplateArgs);
- addExplicitInstantiationDecl(
- Context, CurContext, D.getCXXScopeSpec(),
- D.getSourceRange().getEnd(), Specialization, ExternLoc, TemplateLoc,
- SourceLocation(), ArgsAsWritten, D.getIdentifierLoc(), T, TSK);
+ addExplicitInstantiationDecl(Context, CurContext, D.getCXXScopeSpec(),
+ D.getSourceRange().getEnd(), Specialization,
+ ExternLoc, TemplateLoc, SourceLocation(),
+ ArgsAsWritten, D.getIdentifierLoc(), T, TSK);
// Don't return the EID to the Parser — doing so would trigger
// unrelated semantic actions (e.g. access checks via FinalizeDeclaration).
return (Decl *)nullptr;
diff --git a/clang/lib/Tooling/Syntax/BuildTree.cpp
b/clang/lib/Tooling/Syntax/BuildTree.cpp
index cff89b7df..4fd5c0093 100644
--- a/clang/lib/Tooling/Syntax/BuildTree.cpp
+++ b/clang/lib/Tooling/Syntax/BuildTree.cpp
@@ -738,8 +738,9 @@ public:
}
// ExplicitInstantiationDecl is an auxiliary AST node that records source
- // info. The syntax tree is already built by
TraverseClassTemplateSpecializationDecl
- // or by the parser for function/variable templates, so skip this node.
+ // info. The syntax tree is already built by
+ // TraverseClassTemplateSpecializationDecl or by the parser for
+ // function/variable templates, so skip this node.
bool TraverseExplicitInstantiationDecl(ExplicitInstantiationDecl *) {
return true;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/191658
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits