[all-commits] [llvm/llvm-project] 863000: [Clang] Do not assume existing substition for temp...

aokblast via All-commits all-commits at lists.llvm.org
Tue Sep 29 15:41:52 PDT 2026


  Branch: refs/heads/users/aokblast/clang/itanium_mangle_fix_alias
  Home:   https://github.com/llvm/llvm-project
  Commit: 8630009e9826c731dabcdc1bcb6136870762672a
      https://github.com/llvm/llvm-project/commit/8630009e9826c731dabcdc1bcb6136870762672a
  Author: ShengYi Hung <aokblast at FreeBSD.org>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle-template.cpp

  Log Message:
  -----------
  [Clang] Do not assume existing substition for template specialization

Mangled symbol is not always available when having template
specialization. For example, a template alias mangled the type when
actually doing substitution. In previous code, B in A<B>::foo() is
always mangled when reaching A<B>. When doing substition insides A<T>,
B is always available. Alias is not the case here, B is mangled when
reaching A<T> inside.

As now, TemplateName::SubstTemplateTemplateParm might needs to be
resolved further as B is not always defined, we remove it from the
switch case and find recursively like the origianl path.

Assisted-by: Claude # Tests, ReleaseNotes



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