summaryrefslogtreecommitdiff
path: root/libquadmath/quadmath-imp.h
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/quadmath-imp.h
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/quadmath-imp.h')
-rw-r--r--libquadmath/quadmath-imp.h9
1 files changed, 9 insertions, 0 deletions
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;