[clang] [clang-tools-extra] [Clang][C++29] Template pack indexing (PR #218738)
Corentin Jabot via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 26 04:51:57 PDT 2026
================
@@ -4973,6 +4987,101 @@ TemplateName TreeTransform<Derived>::TransformTemplateName(
S->getFinal());
}
+ if (PackIndexingTemplateStorage *PI = Name.getAsPackIndexingTemplate()) {
+ assert(!QualifierLoc && "Unexpected qualified pack-index-template-name");
+
+ ExprResult IndexExpr;
+ {
+ EnterExpressionEvaluationContext ConstantContext(
+ SemaRef, Sema::ExpressionEvaluationContext::ConstantEvaluated);
+ IndexExpr = getDerived().TransformExpr(PI->getIndexExpr());
+ if (IndexExpr.isInvalid())
+ return TemplateName();
+ }
+
+ auto TransformOne = [&](TemplateName N) {
+ NestedNameSpecifierLoc NoQualifier;
+ return getDerived().TransformTemplateName(
+ NoQualifier, TemplateKWLoc, N, NameLoc, ObjectType,
+ FirstQualifierInScope, AllowInjectedClassName);
+ };
----------------
cor3ntin wrote:
how so? It's use 5 times
https://github.com/llvm/llvm-project/pull/218738
More information about the cfe-commits
mailing list