From: Jonathan Wakely Date: Fri, 24 May 2019 16:09:37 +0000 (+0100) Subject: Fix std::midpoint(T*, T*) for reversed arguments X-Git-Tag: releases/gcc-9.2.0~322 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75addbfa7fb2f6d8e3b99786eea8a56d57f72475;p=thirdparty%2Fgcc.git Fix std::midpoint(T*, T*) for reversed arguments Backport from mainline 2019-05-24 Jonathan Wakely * include/std/numeric (midpoint(T*, T*)): Fix incorrect result. * testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test to "run". From-SVN: r271609 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 5e3284183b78..2a831d41bd1b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2019-05-24 Jonathan Wakely + Backport from mainline + 2019-05-24 Jonathan Wakely + + * include/std/numeric (midpoint(T*, T*)): Fix incorrect result. + * testsuite/26_numerics/midpoint/pointer.cc: Change "compile" test + to "run". + Backport from mainline 2019-05-17 Jonathan Wakely diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index 4858ad1aea3a..9dff247538ac 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -195,7 +195,7 @@ template enable_if_t<__and_v, bool_constant>, _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 bd586d28ba01..3d3aafc3ec86 100644 --- a/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc +++ b/libstdc++-v3/testsuite/26_numerics/midpoint/pointer.cc @@ -16,7 +16,7 @@ // . // { dg-options "-std=gnu++2a" } -// { dg-do compile { target c++2a } } +// { dg-do run { target c++2a } } #include #include