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

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sat Oct 5 10:45:10 PDT 2024


  Branch: refs/heads/users/mizvekov/clang-fix-GH55509
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ac3d1a93bbfcf50ed932ff149a48755819d4da0
      https://github.com/llvm/llvm-project/commit/0ac3d1a93bbfcf50ed932ff149a48755819d4da0
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  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 fend 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 was
instantiated from the definition. 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