Guard inline functions by __NO_INLINE__ git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@1206 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/math.h b/mingw-w64-headers/include/math.h index b5ce20f..a89c262 100644 --- a/mingw-w64-headers/include/math.h +++ b/mingw-w64-headers/include/math.h
@@ -280,11 +280,13 @@ extern int __cdecl __fpclassifyf (float); extern int __cdecl __fpclassify (double); +#ifndef __CRT__NO_INLINE __CRT_INLINE int __cdecl __fpclassifyl (long double x) { unsigned short sw; __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); return sw & (FP_NAN | FP_NORMAL | FP_ZERO ); } +#endif #define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x) \ : sizeof (x) == sizeof (double) ? __fpclassify (x) \ @@ -303,6 +305,8 @@ extern int __cdecl __isnan (double); extern int __cdecl __isnanf (float); extern int __cdecl __isnanl (long double); + +#ifndef __CRT__NO_INLINE __CRT_INLINE int __cdecl __isnan (double _x) { unsigned short sw; @@ -329,6 +333,7 @@ return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) == FP_NAN; } +#endif #define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) \ : sizeof (x) == sizeof (double) ? __isnan (x) \ @@ -341,7 +346,7 @@ extern int __cdecl __signbit (double); extern int __cdecl __signbitf (float); extern int __cdecl __signbitl (long double); - +#ifndef __CRT__NO_INLINE __CRT_INLINE int __cdecl __signbit (double x) { unsigned short stw; __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); @@ -359,6 +364,7 @@ __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); return stw & 0x0200; } +#endif #define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) \ : sizeof (x) == sizeof (double) ? __signbit (x) \