From: Oleg Endo Date: Sun, 6 Oct 2013 13:44:47 +0000 (+0000) Subject: re PR libstdc++/58625 (std::signbit always converts to double) X-Git-Tag: releases/gcc-4.9.0~3699 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c3ddbdce59b5a4b42f191406d8152879b6735937;p=thirdparty%2Fgcc.git re PR libstdc++/58625 (std::signbit always converts to double) 2013-10-06 Oleg Endo Paolo Carlini PR libstdc++/58625 * include/c_global/cmath (signbit): Use __builtin_signbitf and __builtin_signbitl. Co-Authored-By: Paolo Carlini From-SVN: r203228 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b02593aa5056..4a00019bae08 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2013-10-06 Oleg Endo + Paolo Carlini + + PR libstdc++/58625 + * include/c_global/cmath (signbit): Use __builtin_signbitf and + __builtin_signbitl. + 2013-10-03 Tim Shen * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index b438585eb445..2641118e7b12 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -650,9 +650,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION isnormal(_Tp __x) { return __x != 0 ? true : false; } + // The front-end doesn't provide a type generic builtin (libstdc++/58625). constexpr bool signbit(float __x) - { return __builtin_signbit(__x); } + { return __builtin_signbitf(__x); } constexpr bool signbit(double __x) @@ -660,7 +661,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool signbit(long double __x) - { return __builtin_signbit(__x); } + { return __builtin_signbitl(__x); } template constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,