diff options
author | Krystian Stasiowski <sdkrystian@gmail.com> | 2024-11-01 14:15:33 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-01 16:15:33 -0400 |
commit | b24650e814e55d90acfc40acf045456c98f32b9c (patch) | |
tree | 31c276991f2a1c7590efecaf66560e541b7cac43 /clang/lib/Sema/SemaInit.cpp | |
parent | 308c00749ddb76b2e77934e986001b7fd4ad5cdc (diff) | |
download | llvm-b24650e814e55d90acfc40acf045456c98f32b9c.zip llvm-b24650e814e55d90acfc40acf045456c98f32b9c.tar.gz llvm-b24650e814e55d90acfc40acf045456c98f32b9c.tar.bz2 |
Reapply "[Clang][Sema] Always use latest redeclaration of primary template" (#114569)
This patch reapplies #114258, fixing an infinite recursion bug in
`ASTImporter` that occurs when importing the primary template of a class
template specialization when the latest redeclaration of that template
is a friend declaration in the primary template.
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index 573e90a..e2a59f6 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -9954,7 +9954,7 @@ QualType Sema::DeduceTemplateSpecializationFromInitializer( auto SynthesizeAggrGuide = [&](InitListExpr *ListInit) { auto *Pattern = Template; while (Pattern->getInstantiatedFromMemberTemplate()) { - if (Pattern->hasMemberSpecialization()) + if (Pattern->isMemberSpecialization()) break; Pattern = Pattern->getInstantiatedFromMemberTemplate(); } |