Răsfoiți Sursa

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).
Szabolcs Nagy 11 ani în urmă
părinte
comite
6739b13a17
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      include/math.h

+ 4 - 2
include/math.h

@@ -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;
 }