================ @@ -8385,14 +8385,19 @@ TreeTransform<Derived>::TransformDeclStmt(DeclStmt *S) { if (Transformed != D) DeclChanged = true; - if (LSI && isa<TypeDecl>(Transformed)) - LSI->ContainsUnexpandedParameterPack |= - getSema() - .getASTContext() - .getTypeDeclType(cast<TypeDecl>(Transformed)) - .getCanonicalType() - .getTypePtr() - ->containsUnexpandedParameterPack(); + if (LSI) { + if (auto *TD = dyn_cast<TypeDecl>(Transformed)) + LSI->ContainsUnexpandedParameterPack |= + getSema() + .getASTContext() + .getTypeDeclType(TD) + .getCanonicalType() + ->containsUnexpandedParameterPack(); + + if (auto *VD = dyn_cast<VarDecl>(Transformed)) + LSI->ContainsUnexpandedParameterPack |= + VD->getType()->containsUnexpandedParameterPack(); + } ---------------- zyn0217 wrote:
I'm not sure if I understand "tracking unexpanded packs lexically". Do you have a link to that context? It sounds like we need a new bit to track that in Decls, despite that flag being accessible through their QualTypes' dependencies for the status quo. In the latter regard, it looks like we just need a shortcut method for it? https://github.com/llvm/llvm-project/pull/112896 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits