diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2019-05-24 16:39:35 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2019-05-24 16:39:35 +0100 |
commit | 09b4000c7c5b359ec62b5d621daf6ab95233ce10 (patch) | |
tree | d1955671c56d1a18942b8494f57a049d9bfc0b51 | |
parent | e8daba7e0630c75c1e1d989f18c282b43fc2e1ef (diff) | |
download | gcc-09b4000c7c5b359ec62b5d621daf6ab95233ce10.zip gcc-09b4000c7c5b359ec62b5d621daf6ab95233ce10.tar.gz gcc-09b4000c7c5b359ec62b5d621daf6ab95233ce10.tar.bz2 |
Fix std::midpoint(T*, T*) for reversed arguments
* include/std/numeric (midpoint(T*, T*)): Fix incorrect result.
* testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test
to "run".
From-SVN: r271606
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/numeric | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0a83bd3..ad97108 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,9 @@ 2019-05-24 Jonathan Wakely <jwakely@redhat.com> + * include/std/numeric (midpoint(T*, T*)): Fix incorrect result. + * testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test + to "run". + * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Fix test. * testsuite/20_util/shared_ptr/cons/alias.cc: Remove unused function. diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index 4858ad1..9dff247 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -195,7 +195,7 @@ template<typename _Tp> enable_if_t<__and_v<is_object<_Tp>, bool_constant<sizeof(_Tp) != 0>>, _Tp*> midpoint(_Tp* __a, _Tp* __b) noexcept { - return __a > __b ? __b + (__a - __b) / 2 : __a + (__b - __a) / 2; + return __a + (__b - __a) / 2; } #endif // C++20 diff --git a/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc b/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc index bd586d2..3d3aafc 100644 --- a/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc +++ b/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc @@ -16,7 +16,7 @@ // <http://www.gnu.org/licenses/>. // { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-do run { target c++2a } } #include <numeric> #include <climits> |