Author: Younan Zhang Date: 2026-08-19T17:20:59+08:00 New Revision: a1fffdac1ebb6c1950ebe923f433d28e5e2664aa
URL: https://github.com/llvm/llvm-project/commit/a1fffdac1ebb6c1950ebe923f433d28e5e2664aa DIFF: https://github.com/llvm/llvm-project/commit/a1fffdac1ebb6c1950ebe923f433d28e5e2664aa.diff LOG: [Clang][NFC] Remove unused constructor of ASTTemplateArgumentListInfo (#217200) It turns out that its only client VarTemplateSpecializationDecl has stopped copying template arguments since 2024, see 12028373020739b388eb2b8141742509f1764e3c Added: Modified: clang/include/clang/AST/TemplateBase.h clang/lib/AST/TemplateBase.cpp Removed: ################################################################################ diff --git a/clang/include/clang/AST/TemplateBase.h b/clang/include/clang/AST/TemplateBase.h index b9a787ed1b626..4d1e8beeea18d 100644 --- a/clang/include/clang/AST/TemplateBase.h +++ b/clang/include/clang/AST/TemplateBase.h @@ -734,9 +734,6 @@ struct ASTTemplateArgumentListInfo final ASTTemplateArgumentListInfo(const TemplateArgumentListInfo &List); - // FIXME: Is it ever necessary to copy to another context? - ASTTemplateArgumentListInfo(const ASTTemplateArgumentListInfo *List); - public: /// The source location of the left angle bracket ('<'). SourceLocation LAngleLoc; @@ -766,10 +763,6 @@ struct ASTTemplateArgumentListInfo final static const ASTTemplateArgumentListInfo * Create(const ASTContext &C, const TemplateArgumentListInfo &List); - - // FIXME: Is it ever necessary to copy to another context? - static const ASTTemplateArgumentListInfo * - Create(const ASTContext &C, const ASTTemplateArgumentListInfo *List); }; /// Represents an explicit template argument list in C++, e.g., diff --git a/clang/lib/AST/TemplateBase.cpp b/clang/lib/AST/TemplateBase.cpp index d64d3bd5dcc30..961b6acd022ef 100644 --- a/clang/lib/AST/TemplateBase.cpp +++ b/clang/lib/AST/TemplateBase.cpp @@ -790,17 +790,6 @@ ASTTemplateArgumentListInfo::Create(const ASTContext &C, return new (Mem) ASTTemplateArgumentListInfo(List); } -const ASTTemplateArgumentListInfo * -ASTTemplateArgumentListInfo::Create(const ASTContext &C, - const ASTTemplateArgumentListInfo *List) { - if (!List) - return nullptr; - std::size_t size = - totalSizeToAlloc<TemplateArgumentLoc>(List->getNumTemplateArgs()); - void *Mem = C.Allocate(size, alignof(ASTTemplateArgumentListInfo)); - return new (Mem) ASTTemplateArgumentListInfo(List); -} - ASTTemplateArgumentListInfo::ASTTemplateArgumentListInfo( const TemplateArgumentListInfo &Info) { LAngleLoc = Info.getLAngleLoc(); @@ -812,17 +801,6 @@ ASTTemplateArgumentListInfo::ASTTemplateArgumentListInfo( new (&ArgBuffer[i]) TemplateArgumentLoc(Info[i]); } -ASTTemplateArgumentListInfo::ASTTemplateArgumentListInfo( - const ASTTemplateArgumentListInfo *Info) { - LAngleLoc = Info->getLAngleLoc(); - RAngleLoc = Info->getRAngleLoc(); - NumTemplateArgs = Info->getNumTemplateArgs(); - - TemplateArgumentLoc *ArgBuffer = getTrailingObjects(); - for (unsigned i = 0; i != NumTemplateArgs; ++i) - new (&ArgBuffer[i]) TemplateArgumentLoc((*Info)[i]); -} - void ASTTemplateKWAndArgsInfo::initializeFrom( SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &Info, TemplateArgumentLoc *OutArgArray) { _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
