Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2016-02-12 05:23:10 +0300
committerYaakov Selkowitz <yselkowi@redhat.com>2016-02-12 20:35:56 +0300
commitac2f9e23ecd197758e7cc2ca1b8717add3d8762b (patch)
tree5caa1063992ecc114f9456988a10390a38dc7e6e /newlib/libc
parent8b8952064cfacf91b18aed37fbd44f621edb6941 (diff)
Remove broken ieeefp.h macros
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>
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/include/ieeefp.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/newlib/libc/include/ieeefp.h b/newlib/libc/include/ieeefp.h
index 9eb274d86..2ffa456bb 100644
--- a/newlib/libc/include/ieeefp.h
+++ b/newlib/libc/include/ieeefp.h
@@ -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