]> sourceware.org Git - newlib-cygwin.git/commitdiff
Remove broken ieeefp.h macros
authorYaakov Selkowitz <yselkowi@redhat.com>
Fri, 12 Feb 2016 02:23:10 +0000 (20:23 -0600)
committerYaakov Selkowitz <yselkowi@redhat.com>
Fri, 12 Feb 2016 17:35:56 +0000 (11:35 -0600)
Any attempt to use isnanf, isinff, or finitef from <ieeefp.h> with
GCC 5 on platforms other than SPU result in a "lvalue required as
unary '&' operand" error.

newlib/libc/
* include/ieeefp.h (__ieeefp_isnanf): Remove broken macro.
(__ieeefp_isinff, __ieeefp_finitef): Ditto.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
newlib/libc/include/ieeefp.h

index 9eb274d8692a60480fb5cb6dc96ddf79e7e5c463..2ffa456bb3312dfb1279897c4669c93e8b055fd7 100644 (file)
@@ -270,22 +270,17 @@ int _EXFUN(finitef, (float));
 #define __IEEE_DBL_NAN_EXP 0x7ff
 #define __IEEE_FLT_NAN_EXP 0xff
 
-#ifndef __ieeefp_isnanf
-#define __ieeefp_isnanf(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
-                           ((*(long *)&(x) & 0x007fffffL)!=0000000000L))
-#endif
+#ifdef __ieeefp_isnanf
 #define isnanf(x)      __ieeefp_isnanf(x)
-
-#ifndef __ieeefp_isinff
-#define __ieeefp_isinff(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
-                           ((*(long *)&(x) & 0x007fffffL)==0000000000L))
 #endif
-#define isinff(x)      __ieeefp_isinff(x)
 
-#ifndef __ieeefp_finitef
-#define __ieeefp_finitef(x) (((*(long *)&(x) & 0x7f800000L)!=0x7f800000L))
+#ifdef __ieeefp_isinff
+#define isinff(x)      __ieeefp_isinff(x)
 #endif
+
+#ifdef __ieeefp_finitef
 #define finitef(x)     __ieeefp_finitef(x)
+#endif
 
 #ifdef _DOUBLE_IS_32BITS
 #undef __IEEE_DBL_EXPBIAS
This page took 0.033944 seconds and 5 git commands to generate.