[all-commits] [llvm/llvm-project] d18287: [clang] CTAD alias: fix the transformation for the...

Haojian Wu via All-commits all-commits at lists.llvm.org
Mon May 13 00:33:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d182877ba3f5ad93e061f68a9ecce38cb8cec418
      https://github.com/llvm/llvm-project/commit/d182877ba3f5ad93e061f68a9ecce38cb8cec418
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: fix the transformation for the require-clause expr (#90961)

In the clang AST, constraint nodes are deliberately not instantiated
unless they are actively being evaluated. Consequently, occurrences of
template parameters in the require-clause expression have a subtle
"depth" difference compared to normal occurrences in places, such as
function parameters. When transforming the require-clause, we must take
this distinction into account.

The existing implementation overlooks this consideration. This patch is
to rewrite the implementation of the require-clause transformation to
address this issue.

Fixes #90177



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