[all-commits] [llvm/llvm-project] deb63e: [clang] Track function template instantiation from...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Fri Feb 21 10:49:32 PST 2025


  Branch: refs/heads/release/20.x
  Home:   https://github.com/llvm/llvm-project
  Commit: deb63e72d6c9ed98a2fbf4f8249ca6911bd189b8
      https://github.com/llvm/llvm-project/commit/deb63e72d6c9ed98a2fbf4f8249ca6911bd189b8
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-21 (Fri, 21 Feb 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 (#125266) (#127777)

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



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