[all-commits] [llvm/llvm-project] 366f48: [clang] AST: fix dependency calculation for Typede...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sun Jun 8 13:07:59 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 366f48890d643e15e1317ada300f2cc1be437721
      https://github.com/llvm/llvm-project/commit/366f48890d643e15e1317ada300f2cc1be437721
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-06-08 (Sun, 08 Jun 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/dependent-template-alias.cpp

  Log Message:
  -----------
  [clang] AST: fix dependency calculation for TypedefTypes (#143291)

The dependency from the type sugar of the underlying type of a Typedef
were not being considered for the dependency of the TypedefType itself.

A TypedefType should be instantiation dependent if it involves
non-instantiated template parameters, even if they don't contribute to
the canonical type.

Besides, a TypedefType should be instantiation dependent if it is
declared in a dependent context, but fixing that would have performance
consequences, as otherwise non-dependent typedef declarations would need
to be transformed during instantiation as well.

This removes the workaround added in
https://github.com/llvm/llvm-project/pull/90032

Fixes https://github.com/llvm/llvm-project/issues/89774



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