http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #7 from Tobias Burnus 2011-11-07
15:29:52 UTC ---
(In reply to comment #5)
> ChangeLog
>
> * quadmath-imp.h (ieee854_float128): Adjust
> for ms-bitfield layout.
>
> +#ifdef __MINGW32__
> + /* On mingw targets ms-bit
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
Francois-Xavier Coudert changed:
What|Removed |Added
Keywords||patch
CC|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #5 from Kai Tietz 2011-11-07 12:19:09
UTC ---
Suggested patch for this issue
ChangeLog
* quadmath-imp.h (ieee854_float128): Adjust
for ms-bitfield layout.
Index: quadmath-imp.h
==
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #4 from Kai Tietz 2011-11-07 12:00:49
UTC ---
The issue is caused by bitfield layout. For mingw targets the -mms-bitfields
option is for 4.7 active by default.
So the mixture of different sized types in union is leading to this beh
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #3 from Francois-Xavier Coudert
2011-11-07 11:39:12 UTC ---
Going further: I tried to compare the trees generated by the simple function
below:
#include
typedef union
{
__float128 value;
struct
{
#if __BYTE_ORDER__ == __ORD
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #2 from Francois-Xavier Coudert
2011-11-07 11:29:39 UTC ---
The bug is not in the I/O routine, it can be reproduce by this simple
self-contained testcase (which doesn't need libquadmath).
#include
typedef union
{
__float128 value
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
--- Comment #1 from Francois-Xavier Coudert
2011-11-07 11:03:32 UTC ---
I don't know if it's related, or two different bugs, but hexadecimal printing
has the correct mantissa with a wrong exponent. See below the same testcase
compile on my mac (n
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
Francois-Xavier Coudert changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|