[all-commits] [llvm/llvm-project] 0e3319: [clang] fix regression printing constructor/destru...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Wed Aug 27 14:05:17 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e3319537972d284e94a183899f15b40a798fd1f
      https://github.com/llvm/llvm-project/commit/0e3319537972d284e94a183899f15b40a798fd1f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-08-27 (Wed, 27 Aug 2025)

  Changed paths:
    M clang/lib/AST/DeclarationName.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/Index/recursive-cxx-member-calls.cpp
    M clang/test/PCH/cxx-explicit-specifier.cpp
    M clang/test/SemaCXX/return.cpp
    M clang/unittests/AST/DeclTest.cpp

  Log Message:
  -----------
  [clang] fix regression printing constructor/destructor names (#155688)

This makes the type printer not qualify constructor and destructor
names. These are represented as canonical types and the type printer is
used, but unlike canonical types which we normally print as fully
qualified, the expected behaviour for declaration names is for them to
be unqualified.

Note that this restores the behaviour pre #147835, but that is still
broken for the constructor names of class templates, since in that case
the injected class name type is used, but here the type printer is
configured to also print the implicit template arguments.

No release notes since this regression was never released.

Fixes #155537



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