[all-commits] [llvm/llvm-project] e04e14: [Clang] Reapply CWG2369 "Ordering between constrai...

Younan Zhang via All-commits all-commits at lists.llvm.org
Mon Jun 2 02:10:28 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e04e140adb600add79b414f137a13af9d89c8c0d
      https://github.com/llvm/llvm-project/commit/e04e140adb600add79b414f137a13af9d89c8c0d
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-06-02 (Mon, 02 Jun 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    A clang/test/CodeGenCXX/ms-mangle-requires.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Reapply CWG2369 "Ordering between constraints and substitution" (#122423)

The previous approach broke code generation for the MS ABI due to an
unintended code path during constraint substitution. This time we
address the issue by inspecting the evaluation contexts and thereby
avoiding that code path.

This reapplies 96eced624 (#102857).



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