Author: hdu
Date: Tue Jun  4 08:57:15 2013
New Revision: 1489344

URL: http://svn.apache.org/r1489344
Log:
extend workaround for gcc bug 14608 to work on gcc<4.3

Modified:
    openoffice/trunk/main/sal/inc/sal/mathconf.h

Modified: openoffice/trunk/main/sal/inc/sal/mathconf.h
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sal/inc/sal/mathconf.h?rev=1489344&r1=1489343&r2=1489344&view=diff
==============================================================================
--- openoffice/trunk/main/sal/inc/sal/mathconf.h (original)
+++ openoffice/trunk/main/sal/inc/sal/mathconf.h Tue Jun  4 08:57:15 2013
@@ -55,16 +55,16 @@ extern "C" {
 
 
 /* SAL_MATH_FINITE(d): test double d on INFINITY, NaN et al. */
-#if defined(__GNUC__)
-#if defined(MACOSX)
-    #define SAL_MATH_FINITE(d) finite(d)
-#else
-    #define SAL_MATH_FINITE(d) __builtin_isfinite(d) // gcc bug 14608
-#endif
+#if defined(__GNUC__) // workaround gcc bug 14608
+       #if (__GNUC_MINOR >= 3) // gcc>=4.3 has a builtin
+               #define SAL_MATH_FINITE(d) __builtin_isfinite(d)
+       #else
+               #define SAL_MATH_FINITE(d) finite(d) // fall back to pre-C99 
name
+       #endif
 #elif defined(__STDC__)
        // isfinite() should be available in math.h according to 
C99,C++99,SUSv3,etc.
-       // unless GCC bug 14608 hits us where cmath undefines isfinite as macro
-    #define SAL_MATH_FINITE(d) isfinite(d)
+       // unless GCC bug 14608 hits us where cmath undefines isfinite() as 
macro
+       #define SAL_MATH_FINITE(d) isfinite(d)
 #elif defined( WNT)
 #define SAL_MATH_FINITE(d) _finite(d)
 #elif defined OS2


Reply via email to