c++ seems to want some casts in the float representation-access macros

This commit is contained in:
Rich Felker 2012-03-17 21:40:10 -04:00
parent da0acc32ef
commit 65db6bf5ea
1 changed files with 2 additions and 2 deletions

View File

@ -41,8 +41,8 @@ int __fpclassify(double);
int __fpclassifyf(float); int __fpclassifyf(float);
int __fpclassifyl(long double); int __fpclassifyl(long double);
#define __FLOAT_BITS(f) (((union { float __f; __uint32_t __i; }){ (f) }).__i) #define __FLOAT_BITS(f) (((union { float __f; __uint32_t __i; }){ (float)(f) }).__i)
#define __DOUBLE_BITS(f) (((union { double __f; __uint64_t __i; }){ (f) }).__i) #define __DOUBLE_BITS(f) (((union { double __f; __uint64_t __i; }){ (double)(f) }).__i)
#define fpclassify(x) ( \ #define fpclassify(x) ( \
sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \ sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \