Thanks a lot, Jason.

I applied the below, tested x86_64-linux multilib.

Paolo.

//////////////////////

2011-08-01  Paolo Carlini  <paolo.carl...@oracle.com>

        PR c++/49813
        * include/c_global/cmath (isinf): Remove workaround.
Index: include/c_global/cmath
===================================================================
--- include/c_global/cmath      (revision 177068)
+++ include/c_global/cmath      (working copy)
@@ -547,18 +547,17 @@
     isfinite(_Tp __x)
     { return true; }
 
-  // Workaround the isinf issue discussed in PR 49813.
   constexpr bool
   isinf(float __x)
-  { return fpclassify(__x) == FP_INFINITE; }
+  { return __builtin_isinf(__x); }
 
   constexpr bool
   isinf(double __x)
-  { return fpclassify(__x) == FP_INFINITE; }
+  { return __builtin_isinf(__x); }
 
   constexpr bool
   isinf(long double __x)
-  { return fpclassify(__x) == FP_INFINITE; }
+  { return __builtin_isinf(__x); }
 
   template<typename _Tp>
     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,

Reply via email to