summaryrefslogtreecommitdiff
path: root/libquadmath
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2011-11-07 23:03:51 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2011-11-07 23:03:51 +0100
commit744bbef1e1044b510d7ff90313b25a07c6c794ab (patch)
tree819665aaf0cec6700c43c357667a7bf415a77a19 /libquadmath
parent5a0626d162e8c3a29b48872336ebc1b51cf26c43 (diff)
downloadgcc-744bbef1e1044b510d7ff90313b25a07c6c794ab.tar.gz
re PR target/51007 (Quadmath I/O doesn't work on MinGW)
PR target/51007 * quadmath-imp.h (ieee854_float128): Adjust for ms-bitfield layout. From-SVN: r181125
Diffstat (limited to 'libquadmath')
-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;