]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libstdc++/58625 (std::signbit always converts to double)
authorOleg Endo <olegendo@gcc.gnu.org>
Sun, 6 Oct 2013 13:44:47 +0000 (13:44 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 6 Oct 2013 13:44:47 +0000 (13:44 +0000)
2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58625
* include/c_global/cmath (signbit): Use __builtin_signbitf and
__builtin_signbitl.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203228

libstdc++-v3/ChangeLog
libstdc++-v3/include/c_global/cmath

index b02593aa5056de29704125ae9d1eb787f62d0aca..4a00019bae08e12870a223b6c0e33159b05832b3 100644 (file)
@@ -1,3 +1,10 @@
+2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
+           Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/58625
+       * include/c_global/cmath (signbit): Use __builtin_signbitf and
+       __builtin_signbitl.
+
 2013-10-03  Tim Shen  <timshen91@gmail.com>
 
        * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
index b438585eb44547e9e28fed055e8d9ae210f3e581..2641118e7b126a1c25d00b1e674c90d7fff290d1 100644 (file)
@@ -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<typename _Tp>
     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,