[all-commits] [llvm/llvm-project] ee9ef3: [clang] Redeclare function templates instances per...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sat Sep 28 20:10:30 PDT 2024


  Branch: refs/heads/users/mizvekov/clang-fix-GH55509
  Home:   https://github.com/llvm/llvm-project
  Commit: ee9ef305403cbcdf004e9777feab44689bf579a4
      https://github.com/llvm/llvm-project/commit/ee9ef305403cbcdf004e9777feab44689bf579a4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-09-29 (Sun, 29 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaTemplate/GH55509.cpp

  Log Message:
  -----------
  [clang] Redeclare function templates instances per primary template

This fixes handling of friend function templates instances when
their template context changes, such as when a new friend declaration
is introduced after an instance was already created from a previous
declaration.

Instead of producing one function template instance per primary template,
this patch makes it so clang produces one instance per primary template
redeclaration, tracking this new instance as a redeclation of the
previous instance.

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