aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath
diff options
context:
space:
mode:
authorLuc Grosheintz <luc.grosheintz@gmail.com>2025-09-04 14:20:29 +0200
committerTomasz Kamiński <tkaminsk@redhat.com>2025-09-08 09:40:15 +0200
commit71711f8ac3af615fec197e4eb71d0bee8ef44a23 (patch)
tree91b900b4bf77dea049d49935f5e67031888775b3 /libjava/classpath
parentc440b585ba374b6348ef223e4891a717a1f6660c (diff)
downloadgcc-71711f8ac3af615fec197e4eb71d0bee8ef44a23.zip
gcc-71711f8ac3af615fec197e4eb71d0bee8ef44a23.tar.gz
gcc-71711f8ac3af615fec197e4eb71d0bee8ef44a23.tar.bz2
libstdc++: Adjust span/mdspan CTAD for P2781R9.
A usecase for P2781R9 is more ergonomic creation of span and mdspan with mixed static and dynamic extents, e.g.: span(ptr, cw<3>) extents(cw<3>, 5, cw<7>) mdspan(ptr, cw<3>, 5, cw<7>) should be deduced as: span<..., 3> extents<..., 3, dyn, 7> mdspan<..., extents<..., 3, dyn, 7>> The change required is to strip cv-qualifiers and references from `_Tp::value`, because of: template<_CwFixedValue _X, typename> struct constant_wrapper : _CwOperators { static constexpr const auto& value = _X._M_data; libstdc++-v3/ChangeLog: * include/std/span (__integral_constant_like): Allow the member `value` of a constant wrapping type to be a const reference of an integer. * testsuite/23_containers/mdspan/extents/misc.cc: Add test for cw and constant_wrapper. * testsuite/23_containers/mdspan/mdspan.cc: Ditto. * testsuite/23_containers/span/deduction.cc: Ditto. Reviewed-by: Jonathan Wakely <jwakely@redhat.com> Reviewed-by: Tomasz Kamiński <tkaminsk@redhat.com> Signed-off-by: Luc Grosheintz <luc.grosheintz@gmail.com>
Diffstat (limited to 'libjava/classpath')
0 files changed, 0 insertions, 0 deletions