[Bug target/51007] New: Quadmath I/O doesn't work on MinGW

fxcoudert at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 7 10:57:00 GMT 2011


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: unassigned@gcc.gnu.org
        ReportedBy: fxcoudert@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



More information about the Gcc-bugs mailing list