diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2026-02-25 18:06:51 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2026-05-29 22:57:32 +0000 |
| commit | e335c7f5daab66a47beb60e76121be139bb0cf65 (patch) | |
| tree | be7f5a0c8967b9a52340b67a2e6f14a2f18e8aa1 | |
| parent | 7210aadecc9872675641be32310d10dac7b0fefc (diff) | |
Merge commit 787ba2426148 from llvm git (by Matheus Izvekov):
[clang] create local instantiation scope for matching template template parameters (#183219)
This fixes a bug where a partial substitution from the enclosing scope
is used to prepopulate an unrelated template argument deduction.
Fixes #181166
This fixes an expected error when building the devel/catch port.
PR: 292067
MFC after: 1 month
(cherry picked from commit 5ac874516b27474ab5b3d195544c72fb04b4b86e)
| -rw-r--r-- | contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp b/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp index ce78ecc2d4a2..d1fb0c45c81f 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -6478,6 +6478,8 @@ bool Sema::isTemplateTemplateParameterAtLeastAsSpecializedAs( if (Inst.isInvalid()) return false; + LocalInstantiationScope Scope(*this); + // Given an invented class template X with the template parameter list of // A (including default arguments): // - Each function template has a single function parameter whose type is |
