diff options
author | Corentin Jabot <corentinjabot@gmail.com> | 2025-10-02 14:35:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-02 14:35:38 +0200 |
commit | 9583b399d85cacdfa0a41f798ab44abaa3981bbf (patch) | |
tree | 76644d51010ad393a4df784d0cb71b77b9c714ec /llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp | |
parent | db39ef9d566529000a1edcd58108f2df7b323bf5 (diff) | |
download | llvm-9583b399d85cacdfa0a41f798ab44abaa3981bbf.zip llvm-9583b399d85cacdfa0a41f798ab44abaa3981bbf.tar.gz llvm-9583b399d85cacdfa0a41f798ab44abaa3981bbf.tar.bz2 |
[Clang] Normalize constraints before checking for satisfaction (#141776)
In the standard, constraint satisfaction checking is done on the
normalized form of a constraint.
Clang instead substitutes on the non-normalized form, which causes us to
report substitution failures in template arguments or concept ids, which
is non-conforming but unavoidable without a parameter mapping
This patch normalizes before satisfaction checking. However, we preserve
concept-id nodes in the normalized form, solely for diagnostics
purposes.
This addresses #61811 and related concepts conformance bugs, ideally to
make the remaining implementation of concept template parameters easier
Fixes #135190
Fixes #61811
Co-authored-by: Younan Zhang <zyn7109@gmail.com>
Diffstat (limited to 'llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp')
0 files changed, 0 insertions, 0 deletions