[all-commits] [llvm/llvm-project] 5a560b: Revert "[Clang] Preserve more sugars in constraint...

Younan Zhang via All-commits all-commits at lists.llvm.org
Mon Oct 13 23:24:55 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5a560b306dbc93c5f9dde3a0a4e39d5d56a287dc
      https://github.com/llvm/llvm-project/commit/5a560b306dbc93c5f9dde3a0a4e39d5d56a287dc
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-10-14 (Tue, 14 Oct 2025)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.param/p10-2a.cpp
    M clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  Revert "[Clang] Preserve more sugars in constraint evaluation" (#163322)

Reverts llvm/llvm-project#162991

That patch breaks certain uses of VLAs when combined with constrained
types.

This is a pre-existing issue that occurs when concepts are instantiated
with sugar. See also #102353 and related PRs. I tried to fix it on top
of the status quo in #163167, but that approach turned out to be
unfeasible, and our maintainer was clearly unhappy with it, hence this
revert.

Even after this patch, some VLA uses remain broken on trunk (see the
example below), because our normalization patch depends on sugar to
correctly compile libc++, due to a very subtle underlying bug. Still,
this is the best attempt to mitigate the problem for now.

We discussed this and agreed that the long-term solution is to remove
the sugar dependencies from concepts, before the VLA issue is properly
resolved through a larger refactoring.

I'll add a related test (which passes with partially applied sugar)
after this revert, since I don't have a reduced example yet.



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