[all-commits] [llvm/llvm-project] 2ff731: [clang] Track function template instantiation from...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Fri Jan 31 10:09:41 PST 2025
Branch: refs/heads/users/mizvekov/clang-fix-GH55509
Home: https://github.com/llvm/llvm-project
Commit: 2ff73103c3f9cd61d1d829393d940fd95a751932
https://github.com/llvm/llvm-project/commit/2ff73103c3f9cd61d1d829393d940fd95a751932
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-30 (Thu, 30 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/SemaTemplate/GH55509.cpp
Log Message:
-----------
[clang] Track function template instantiation from definition
This fixes instantiation of definition for friend function templates,
when the declaration found and the one containing the definition
have different template contexts.
In these cases, the the function declaration corresponding to the
definition is not available; it may not even be instantiated at all.
So this patch adds a bit which tracks which function template
declaration was instantiated from the member template.
It's used to find which primary template serves as a context
for the purpose of obtainining the template arguments needed
to instantiate the definition.
Fixes #55509
Commit: 30b035933ec601e0fdff07500813ca69dabb6aa9
https://github.com/llvm/llvm-project/commit/30b035933ec601e0fdff07500813ca69dabb6aa9
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/GH55509.cpp
Log Message:
-----------
fixup
Compare: https://github.com/llvm/llvm-project/compare/2ff73103c3f9%5E...30b035933ec6
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list