summaryrefslogtreecommitdiffstats
path: root/newlib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/include/machine/ieeefp.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h
index b3ce76a24..c174c2127 100644
--- a/newlib/libc/include/machine/ieeefp.h
+++ b/newlib/libc/include/machine/ieeefp.h
@@ -80,10 +80,11 @@
#ifdef __SPU__
#define __IEEE_BIG_ENDIAN
-#define isfinite(y) \
- (__extension__ ({__typeof__(y) __y = (y); \
- (sizeof (__y) == sizeof (float)) ? (1) : \
- fpclassify(__y) != FP_INFINITE && fpclassify(__y) != FP_NAN;}))
+#define isfinite(__y) \
+ (__extension__ ({int __cy; \
+ (sizeof (__y) == sizeof (float)) ? (1) : \
+ (__cy = fpclassify(__y)) != FP_INFINITE && __cy != FP_NAN;}))
+
#define isinf(__x) ((sizeof (__x) == sizeof (float)) ? (0) : __isinfd(__x))
#define isnan(__x) ((sizeof (__x) == sizeof (float)) ? (0) : __isnand(__x))