Skip to content

Commit ae4021d

Browse files
committed
fixup! [Sema] Default arguments for template parameters affect ContainsUnexpandedPacks
Simplify the code and reduce nesting
1 parent d8e2db2 commit ae4021d

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

clang/lib/AST/DeclTemplate.cpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,16 @@ TemplateParameterList::TemplateParameterList(const ASTContext& C,
6868

6969
bool IsPack = P->isTemplateParameterPack();
7070
if (const auto *NTTP = dyn_cast<NonTypeTemplateParmDecl>(P)) {
71-
if (!IsPack) {
72-
if (NTTP->getType()->containsUnexpandedParameterPack())
73-
ContainsUnexpandedParameterPack = true;
74-
else if (DefaultArgumentContainsUnexpandedPack(*NTTP))
75-
ContainsUnexpandedParameterPack = true;
76-
}
71+
if (!IsPack && (NTTP->getType()->containsUnexpandedParameterPack() ||
72+
DefaultArgumentContainsUnexpandedPack(*NTTP)))
73+
ContainsUnexpandedParameterPack = true;
7774
if (NTTP->hasPlaceholderTypeConstraint())
7875
HasConstrainedParameters = true;
7976
} else if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(P)) {
80-
if (!IsPack) {
81-
if (TTP->getTemplateParameters()->containsUnexpandedParameterPack())
82-
ContainsUnexpandedParameterPack = true;
83-
else if (DefaultArgumentContainsUnexpandedPack(*TTP))
84-
ContainsUnexpandedParameterPack = true;
77+
if (!IsPack &&
78+
(TTP->getTemplateParameters()->containsUnexpandedParameterPack() ||
79+
DefaultArgumentContainsUnexpandedPack(*TTP))) {
80+
ContainsUnexpandedParameterPack = true;
8581
}
8682
} else if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(P)) {
8783
if (!IsPack && DefaultArgumentContainsUnexpandedPack(*TTP)) {

0 commit comments

Comments
 (0)