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

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Wed Aug 27 13:16:27 PDT 2025


  Branch: refs/heads/users/mizvekov/GH155537
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b5ba6db165c8078a8b00ddc3141006defcf54bf
      https://github.com/llvm/llvm-project/commit/1b5ba6db165c8078a8b00ddc3141006defcf54bf
  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

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