math.h: make __FLOAT_BITS and __DOUBLE_BITS C89

Remove non-constant aggregate initializer. (Still using long long, but
that is supported by ancient compilers without __extension__ anyway).
This commit is contained in:
Szabolcs Nagy 2014-03-09 19:29:41 +01:00
parent 9743a399bf
commit 6739b13a17
1 changed files with 4 additions and 2 deletions

View File

@ -42,12 +42,14 @@ int __fpclassifyl(long double);
static __inline unsigned __FLOAT_BITS(float __f)
{
union {float __f; unsigned __i;} __u = {__f};
union {float __f; unsigned __i;} __u;
__u.__f = __f;
return __u.__i;
}
static __inline unsigned long long __DOUBLE_BITS(double __f)
{
union {double __f; unsigned long long __i;} __u = {__f};
union {double __f; unsigned long long __i;} __u;
__u.__f = __f;
return __u.__i;
}