OSDN Git Service

PR target/51007
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Nov 2011 22:03:51 +0000 (22:03 +0000)
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Nov 2011 22:03:51 +0000 (22:03 +0000)
        * quadmath-imp.h (ieee854_float128): Adjust
        for ms-bitfield layout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181125 138bc75d-0d04-0410-961f-82ee72b054a4

libquadmath/ChangeLog
libquadmath/quadmath-imp.h

index 97c15b5..73c2c42 100644 (file)
@@ -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.
index db34a92..bac714d 100644 (file)
@@ -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;