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