aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libquadmath/ChangeLog6
-rw-r--r--libquadmath/quadmath-imp.h9
2 files changed, 15 insertions, 0 deletions
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index 97c15b573bf..73c2c420f00 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,3 +1,9 @@
+2011-11-07 Kai Tietz <ktietz@redhat.com>
+
+ PR target/51007
+ * quadmath-imp.h (ieee854_float128): Adjust
+ for ms-bitfield layout.
+
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* printf/gmp-impl.h: Adapt path to longlong.h.
diff --git a/libquadmath/quadmath-imp.h b/libquadmath/quadmath-imp.h
index db34a92f08f..bac714d1c8b 100644
--- a/libquadmath/quadmath-imp.h
+++ b/libquadmath/quadmath-imp.h
@@ -48,6 +48,11 @@ typedef union
__float128 value;
struct
+#ifdef __MINGW32__
+ /* On mingw targets the ms-bitfields option is active by default.
+ Therefore enforce gnu-bitfield style. */
+ __attribute__ ((gcc_struct))
+#endif
{
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
unsigned negative:1;
@@ -89,6 +94,10 @@ typedef union
} words32;
struct
+#ifdef __MINGW32__
+ /* Make sure we are using gnu-style bitfield handling. */
+ __attribute__ ((gcc_struct))
+#endif
{
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
unsigned negative:1;