[all-commits] [llvm/llvm-project] b3d09d: [clang] ItaniumMangle: fix mangling for unresolved...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Thu Apr 10 20:52:11 PDT 2025


  Branch: refs/heads/users/mizvekov/subst-fix-mangling
  Home:   https://github.com/llvm/llvm-project
  Commit: b3d09dc73d4c36fa254a65a45ad5a777f1a090a2
      https://github.com/llvm/llvm-project/commit/b3d09dc73d4c36fa254a65a45ad5a777f1a090a2
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-04-11 (Fri, 11 Apr 2025)

  Changed paths:
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle.cpp

  Log Message:
  -----------
  [clang] ItaniumMangle: fix mangling for unresolved types

This fixes a regression introduced here: https://github.com/llvm/llvm-project/pull/132748
which was originally reported here: https://github.com/llvm/llvm-project/pull/132748#issuecomment-2791012454

Some time in the clang-20 time frame, we had removed subst* nodes produced
from template type alias instantiation.

This ended up accidentally fixing an issue where the result from
an alias template substitution is mistaken for the susbtitution
of an outer non-alias template, incorrectly applying the unresolved-type
production to it.

This fixes it by ignoring subst* nodes produced from type aliases.
Though builtin templates currently don't place subst* nodes, if
we ever decide to place them, this fix should cover them as well.

No release notes since this regression was never released.



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