aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2021-06-17 09:46:07 -0400
committerPatrick Palka <ppalka@redhat.com>2021-06-17 09:46:07 -0400
commit2b87f3318cf6334a3a42dcf27f2fdec0fce04665 (patch)
tree78afc686951f29d137c7725b3d71d345885645b6 /gcc/value-range.h
parent0f4a2fb44dad6c9c140226fc19ed16109b85e6f4 (diff)
downloadgcc-2b87f3318cf6334a3a42dcf27f2fdec0fce04665.zip
gcc-2b87f3318cf6334a3a42dcf27f2fdec0fce04665.tar.gz
gcc-2b87f3318cf6334a3a42dcf27f2fdec0fce04665.tar.bz2
libstdc++: Non-triv-copyable extra args aren't simple [PR100940]
This force-enables perfect forwarding call wrapper semantics whenever the extra arguments of a partially applied range adaptor aren't all trivially copyable, so as to avoid incurring unnecessary copies of potentially expensive-to-copy objects (such as std::function objects) when invoking the adaptor. PR libstdc++/100940 libstdc++-v3/ChangeLog: * include/std/ranges (__adaptor::_Partial): For the "simple" forwarding partial specializations, also require that the extra arguments are trivially copyable. * testsuite/std/ranges/adaptors/100577.cc (test04): New test.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions