From c1e1e7949f6e933b9798f706eb01aeebb43f6ea1 Mon Sep 17 00:00:00 2001 From: Krystian Stasiowski Date: Fri, 23 Jan 2026 13:45:51 -0500 Subject: [PATCH] [Clang][Sema] Use first instantiation pattern when comparing constrained functions --- clang/lib/Sema/SemaTemplateDeduction.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index a287319cc4f88..234dffd1dd6d4 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -6157,11 +6157,11 @@ FunctionDecl *Sema::getMoreConstrainedFunction(FunctionDecl *FD1, (isa(FD2))); FunctionDecl *F1 = FD1; - if (FunctionDecl *P = FD1->getTemplateInstantiationPattern(false)) + while (FunctionDecl *P = F1->getTemplateInstantiationPattern(false)) F1 = P; FunctionDecl *F2 = FD2; - if (FunctionDecl *P = FD2->getTemplateInstantiationPattern(false)) + while (FunctionDecl *P = F2->getTemplateInstantiationPattern(false)) F2 = P; llvm::SmallVector AC1, AC2;