diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b02593aa505..4a00019bae0 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 b438585eb44..2641118e7b1 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,