http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51007
Bug #: 51007 Summary: Quadmath I/O doesn't work on MinGW Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: fxcoud...@gcc.gnu.org Target: i586-pc-mingw32 The following test program works fine with current trunk on i686 and x86_64-linux: #include <quadmath.h> #include <stdio.h> int main (void) { char buf[100]; quadmath_snprintf (buf, sizeof buf, "%.60Qg", (__float128) 3.14); puts (buf); } It outputs "3.140000000000000124344978758017532527446746826171875". When compiled and run on MinGW, it gives an incorrect output (on my test system, "1.9163987915738935076000483121420225908698150840344985584492e-4932"). I confirmed with both a native MinGW build (i586-pc-mingw32) and a cross-compiler for i586-pc-mingw32, running on x86_64-apple-darwin11, and running the result under either Wine or a real Windows. The cross-compiler is configured as such: ../../gcc/trunk/configure --target=i586-pc-mingw32 --disable-werror --enable-languages=c,fortran