[clang] [Sema] Default arguments for template parameters affect ContainsUnexpandedPacks (PR #99880)
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 23 04:06:41 PDT 2024
================
@@ -61,27 +61,43 @@ TemplateParameterList::TemplateParameterList(const ASTContext& C,
bool IsPack = P->isTemplateParameterPack();
if (const auto *NTTP = dyn_cast<NonTypeTemplateParmDecl>(P)) {
- if (!IsPack && NTTP->getType()->containsUnexpandedParameterPack())
- ContainsUnexpandedParameterPack = true;
+ if (!IsPack) {
+ if (NTTP->getType()->containsUnexpandedParameterPack())
+ ContainsUnexpandedParameterPack = true;
+ else if (NTTP->hasDefaultArgument() &&
+ NTTP->getDefaultArgument()
+ .getArgument()
+ .containsUnexpandedParameterPack())
----------------
ilya-biryukov wrote:
Done.
https://github.com/llvm/llvm-project/pull/99880
More information about the cfe-commits
mailing list