Fix non-portable use of std::abs(double) in constexpr function
authorJonathan Wakely <jwakely@redhat.com>
Tue, 25 Jun 2019 13:18:36 +0000 (14:18 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 25 Jun 2019 13:18:36 +0000 (14:18 +0100)
commite88d863cbde6ee90709d291670a843346f84d3b6
treeca3250791e2d84089352d0a3ea60b47fbcef317e
parent247b63e33d21cb5971ae93c8232a50c678480eeb
Fix non-portable use of std::abs(double) in constexpr function

Although libstdc++ adds 'constexpr' to its std::abs(floating-point)
overloads (as a non-conforming extension), those overloads are not used
if the target libc provides them, which is the case on Solaris.

The fix is to avoid std::abs and simply apply the negation when needed.

* include/std/numeric (midpoint(T, T)): Avoid std::abs in constexpr
function.

From-SVN: r272653
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/numeric