From: Kai Tietz Date: Mon, 7 Nov 2011 22:03:51 +0000 (+0100) Subject: re PR target/51007 (Quadmath I/O doesn't work on MinGW) X-Git-Tag: releases/gcc-4.7.0~2378 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=744bbef1e1044b510d7ff90313b25a07c6c794ab;p=thirdparty%2Fgcc.git 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 --- diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog index 97c15b573bf9..73c2c420f003 100644 --- a/libquadmath/ChangeLog +++ b/libquadmath/ChangeLog @@ -1,3 +1,9 @@ +2011-11-07 Kai Tietz + + PR target/51007 + * quadmath-imp.h (ieee854_float128): Adjust + for ms-bitfield layout. + 2011-11-02 Rainer Orth * printf/gmp-impl.h: Adapt path to longlong.h. diff --git a/libquadmath/quadmath-imp.h b/libquadmath/quadmath-imp.h index db34a92f08f3..bac714d1c8bf 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;