================ @@ -1599,13 +1599,66 @@ createTypePackElementParameterList(const ASTContext &C, DeclContext *DC) { nullptr); } +static TemplateParameterList *createCommonTypeList(const ASTContext &C, + DeclContext *DC) { + // class... Args + auto *Args = TemplateTypeParmDecl::Create( + C, DC, {}, {}, /*Depth=*/1, /*Position=*/0, /*Id=*/nullptr, + /*Typename=*/false, /*ParameterPack=*/true); + Args->setImplicit(); + + // <class... Args> + auto *BaseTemplateList = + TemplateParameterList::Create(C, {}, {}, Args, {}, nullptr); + + // template <class... Args> class BaseTemplate + auto *BaseTemplate = TemplateTemplateParmDecl::Create( + C, DC, {}, /*Depth=*/0, /*Position=*/0, /*ParameterPack=*/false, {}, ---------------- Sirraide wrote:
In addition to what I’ve already pointed out above, I’d also use `nullptr` instead of `{}` for the `Id` parameter here to make this less confusing. https://github.com/llvm/llvm-project/pull/99473 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits