mirror of git://gcc.gnu.org/git/gcc.git
P0616R0 altered the effects of the <numeric> algorithms to use std::move on the accumulator values (resolving LWG 2055). This implements the change for C++2a, but retains the previous behaviour for older standards. * include/bits/stl_numeric.h (_GLIBCXX_MOVE_IF_20): Define macro to conditionally move, according to __cplusplus value. (accumulate, inner_product, partial_sum, adjacent_difference): Use _GLIBCXX_MOVE_IF_20. * testsuite/26_numerics/accumulate/lwg2055.cc: New test. * testsuite/26_numerics/adjacent_difference/lwg2055.cc: New test. * testsuite/26_numerics/inner_product/lwg2055.cc: New test. * testsuite/26_numerics/partial_sum/lwg2055.cc: New test. From-SVN: r262477 |
||
|---|---|---|
| .. | ||
| accumulate | ||
| adjacent_difference | ||
| bit | ||
| complex | ||
| gcd | ||
| headers | ||
| inner_product | ||
| iota | ||
| lcm | ||
| partial_sum | ||
| random | ||
| slice | ||
| slice_array | ||
| valarray | ||