forked from OSchip/llvm-project
[Concepts] Add missing null check to transformConstructor
Caused bug 44671 when transforming a constructor with a type-constraint with no explicit template args.
This commit is contained in:
parent
0e0c65264a
commit
a8d096aff6
|
@ -2047,12 +2047,14 @@ private:
|
|||
if (const auto *TC = TTP->getTypeConstraint()) {
|
||||
TemplateArgumentListInfo TransformedArgs;
|
||||
const auto *ArgsAsWritten = TC->getTemplateArgsAsWritten();
|
||||
if (SemaRef.Subst(ArgsAsWritten->getTemplateArgs(),
|
||||
if (!ArgsAsWritten ||
|
||||
SemaRef.Subst(ArgsAsWritten->getTemplateArgs(),
|
||||
ArgsAsWritten->NumTemplateArgs, TransformedArgs,
|
||||
Args))
|
||||
SemaRef.AttachTypeConstraint(
|
||||
TC->getNestedNameSpecifierLoc(), TC->getConceptNameInfo(),
|
||||
TC->getNamedConcept(), &TransformedArgs, NewTTP,
|
||||
TC->getNamedConcept(), ArgsAsWritten ? &TransformedArgs : nullptr,
|
||||
NewTTP,
|
||||
NewTTP->isParameterPack()
|
||||
? cast<CXXFoldExpr>(TC->getImmediatelyDeclaredConstraint())
|
||||
->getEllipsisLoc()
|
||||
|
|
Loading…
Reference in New Issue