diff options
author | Luc Grosheintz <luc.grosheintz@gmail.com> | 2025-09-04 14:20:28 +0200 |
---|---|---|
committer | Tomasz Kamiński <tkaminsk@redhat.com> | 2025-09-08 09:38:53 +0200 |
commit | c440b585ba374b6348ef223e4891a717a1f6660c (patch) | |
tree | 3ad8da30efbb30d17276f54ca2d95fc21ddb27bb /gcc/testsuite/c-c++-common/gomp | |
parent | 565d9a3617fcc167f190e04445a1d7952b4d9bba (diff) | |
download | gcc-c440b585ba374b6348ef223e4891a717a1f6660c.zip gcc-c440b585ba374b6348ef223e4891a717a1f6660c.tar.gz gcc-c440b585ba374b6348ef223e4891a717a1f6660c.tar.bz2 |
libstdc++: Implement constant_wrapper, cw from P2781R9.
This is a partial implementation of P2781R9. It adds std::cw and
std::constant_wrapper, but doesn't modify __integral_constant_like for
span/mdspan.
libstdc++-v3/ChangeLog:
* include/bits/version.def (constant_wrapper): Add.
* include/bits/version.h: Regenerate.
* include/std/type_traits (_CwFixedValue): New class.
(_IndexSequence): New struct.
(_BuildIndexSequence): New struct.
(_ConstExprParam): New concept.
(_CwOperators): New struct.
(constant_wrapper): New struct.
(cw): New global constant.
* src/c++23/std.cc.in (constant_wrapper): Add.
(cw): Add.
* testsuite/20_util/constant_wrapper/adl.cc: New test.
* testsuite/20_util/constant_wrapper/ex.cc: New test.
* testsuite/20_util/constant_wrapper/generic.cc: New test.
* testsuite/20_util/constant_wrapper/instantiate.cc: New test.
* testsuite/20_util/constant_wrapper/op_comma_neg.cc: New test.
* testsuite/20_util/constant_wrapper/version.cc: New test.
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Co-authored-by: Tomasz Kamiński <tkaminsk@redhat.com>
Signed-off-by: Luc Grosheintz <luc.grosheintz@gmail.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
Diffstat (limited to 'gcc/testsuite/c-c++-common/gomp')
0 files changed, 0 insertions, 0 deletions