This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi,
I have this patch applied to the Debian glibc sources for arm, and
since I noticed other patches to use __FLOAT_WORD_ORDER were
accepted, I was wondering why this one wasn't. Is there something
wrong with it, or did it just slip through the cracks?
--- sysdeps/ieee754/ieee754.h
+++ sysdeps/ieee754/ieee754.h
@@ -80,11 +80,18 @@
unsigned int mantissa1:32;
#endif /* Big endian. */
#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+ unsigned int mantissa0:20;
+ unsigned int exponent:11;
+ unsigned int negative:1;
+ unsigned int mantissa1:32;
+#else
/* Together these comprise the mantissa. */
unsigned int mantissa1:32;
unsigned int mantissa0:20;
unsigned int exponent:11;
unsigned int negative:1;
+#endif
#endif /* Little endian. */
} ieee;
@@ -99,6 +106,13 @@
unsigned int mantissa0:19;
unsigned int mantissa1:32;
#else
+#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+ unsigned int mantissa0:19;
+ unsigned int quiet_nan:1;
+ unsigned int exponent:11;
+ unsigned int negative:1;
+ unsigned int mantissa1:32;
+#else
/* Together these comprise the mantissa. */
unsigned int mantissa1:32;
unsigned int mantissa0:19;
@@ -106,6 +120,7 @@
unsigned int exponent:11;
unsigned int negative:1;
#endif
+#endif
} ieee_nan;
};
@@ -127,12 +142,20 @@
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+ unsigned int exponent:15;
+ unsigned int negative:1;
+ unsigned int empty:16;
+ unsigned int mantissa0:32;
+ unsigned int mantissa1:32;
+#else
unsigned int mantissa1:32;
unsigned int mantissa0:32;
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
#endif
+#endif
} ieee;
/* This is for NaNs in the IEEE 854 double-extended-precision format. */
@@ -148,6 +171,15 @@
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if __FLOAT_WORD_ORDER == BIG_ENDIAN
+ unsigned int quiet_nan:1;
+ unsigned int one:1;
+ unsigned int exponent:15;
+ unsigned int negative:1;
+ unsigned int empty:16;
+ unsigned int mantissa1:32;
+ unsigned int mantissa0:30;
+#else
unsigned int mantissa1:32;
unsigned int mantissa0:30;
unsigned int quiet_nan:1;
@@ -155,6 +187,7 @@
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
+#endif
#endif
} ieee_nan;
};
--
Joel Klecker (aka Espy) <URL:mailto:espy@debian.org>
Debian Package Maintainer for the GNU C Library.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |