diff options
| author | Luc Grosheintz <luc.grosheintz@gmail.com> | 2025-07-16 15:45:45 +0200 |
|---|---|---|
| committer | Tomasz Kamiński <tkaminsk@redhat.com> | 2025-07-17 16:12:52 +0200 |
| commit | 29d53f6213e0a1569aa8ca9db613b48df642986c (patch) | |
| tree | f96291876c46ceb471f9f585ed56565d735ad1a9 /gcc/java/expr.c | |
| parent | 1eee8430794f790b6d364603685e70d83d8d42f5 (diff) | |
| download | gcc-29d53f6213e0a1569aa8ca9db613b48df642986c.zip gcc-29d53f6213e0a1569aa8ca9db613b48df642986c.tar.gz gcc-29d53f6213e0a1569aa8ca9db613b48df642986c.tar.bz2 | |
libstdc++: Fix forwarding of custom IndexType in mdspan [PR121061]
The second bug report in PR121061 is that the conversion of custom
OtherIndexType to IndexType is incorrectly not done via r-value
references.
This commit fixes the forwarding issue, adds a custom IndexType called
RValueInt, which only allows conversion to int via r-value reference.
PR libstdc++/121061
libstdc++-v3/ChangeLog:
* include/std/mdspan (extents::extents): Perform conversion to
index_type of an r-value reference.
(layout_left::mapping::operator()): Ditto.
(layout_right::mapping::operator()): Ditto.
(layout_stride::mapping::operator()): Ditto.
* testsuite/23_containers/mdspan/extents/custom_integer.cc: Add
tests for RValueInt and MutatingInt.
* testsuite/23_containers/mdspan/int_like.h (RValueInt): Add.
* testsuite/23_containers/mdspan/layouts/mapping.cc: Test with
RValueInt.
* testsuite/23_containers/mdspan/mdspan.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 'gcc/java/expr.c')
0 files changed, 0 insertions, 0 deletions
