================
@@ -6038,14 +6107,23 @@ static bool isAtLeastAsSpecializedAs(Sema &S, QualType
T1, QualType T2,
return false;
const auto *TST1 = cast<TemplateSpecializationType>(T1);
- bool AtLeastAsSpecialized;
+
+ Sema::SFINAETrap Trap(S);
+
+ TemplateDeductionResult Result;
S.runWithSufficientStackSpace(Info.getLocation(), [&] {
- AtLeastAsSpecialized =
- FinishTemplateArgumentDeduction(
- S, P2, /*IsPartialOrdering=*/true, TST1->template_arguments(),
- Deduced, Info) == TemplateDeductionResult::Success;
+ Result = ::FinishTemplateArgumentDeduction(
+ S, P2, /*IsPartialOrdering=*/true, TST1->template_arguments(), Deduced,
+ Info);
});
- return AtLeastAsSpecialized;
+
+ if (Result != TemplateDeductionResult::Success)
+ return false;
+
+ if (Trap.hasErrorOccurred())
+ return false;
+
+ return true;
----------------
cor3ntin wrote:
Ditto
https://github.com/llvm/llvm-project/pull/96023
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits