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

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


  Branch: refs/heads/users/mizvekov/subst-fix-mangling
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e734dc11ff5e7e1f8153ffe85ba156aa6efe30d
      https://github.com/llvm/llvm-project/commit/6e734dc11ff5e7e1f8153ffe85ba156aa6efe30d
  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