r262477 - in /trunk/libstdc++-v3: ChangeLog inc...

redi@gcc.gnu.org redi@gcc.gnu.org
Fri Jul 6 14:16:00 GMT 2018


Author: redi
Date: Fri Jul  6 14:16:13 2018
New Revision: 262477

URL: https://gcc.gnu.org/viewcvs?rev=262477&root=gcc&view=rev
Log:
PR libstdc++/84928 use std::move in <numeric> algorithms

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.

Added:
    trunk/libstdc++-v3/testsuite/26_numerics/accumulate/lwg2055.cc
    trunk/libstdc++-v3/testsuite/26_numerics/adjacent_difference/lwg2055.cc
    trunk/libstdc++-v3/testsuite/26_numerics/inner_product/lwg2055.cc
    trunk/libstdc++-v3/testsuite/26_numerics/partial_sum/lwg2055.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/stl_numeric.h



More information about the Libstdc++-cvs mailing list