[llvm-branch-commits] [clang] [clang] Finish implementation of P0522 (PR #96023)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 19 02:42:38 PDT 2024
================
@@ -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
More information about the llvm-branch-commits
mailing list