]> git.mxchange.org Git - simgear.git/blobdiff - simgear/compiler.h
Merge branch 'mathias/intersect'
[simgear.git] / simgear / compiler.h
index cfa91f86441df92aa7cdcc9bd3f61e81e1ddc3ac..939d9f319c6ad18b2942f7125ebd7fc6504688e4 100644 (file)
@@ -63,6 +63,9 @@
 #  if _MSC_VER >= 1200  // msvc++ 6.0 or greater
 #    define isnan _isnan
 #    define snprintf _snprintf
+#    if _MSC_VER < 1500
+#      define vsnprintf _vsnprintf
+#    endif
 #    define copysign _copysign
 
 #    pragma warning(disable: 4786) // identifier was truncated to '255' characters
 
 #ifdef __APPLE__
 #  ifdef __GNUC__
-#    if ( __GNUC__ >= 3 ) && ( __GNUC_MINOR__ >= 3 )
+#    if ( __GNUC__ > 3 ) || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 3 )
 inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
 #    else
     // any C++ header file undefines isinf and isnan
     // so this should be included before <iostream>
     // the functions are STILL in libm (libSystem on mac os x)
-extern "C" int isnan (double);
-extern "C" int isinf (double);
+extern "C" int (isnan)(double);
+extern "C" int (isinf)(double);
 #    endif
 #  else
 inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
@@ -158,10 +161,6 @@ inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
 #  include <ieeefp.h>          // isnan
 #endif
 
-#if defined(__MINGW32__)
-#  define isnan(x) _isnan(x)
-#endif
-
 
 //
 // No user modifiable definitions beyond here.