This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Net version 1.1.0: gcc 2.95.2-2 compiler bug
- To: cygwin at sourceware dot cygnus dot com
- Subject: Net version 1.1.0: gcc 2.95.2-2 compiler bug
- From: Jim Heasley <heasley at hoku dot ifa dot hawaii dot edu>
- Date: Mon, 10 Jul 2000 13:42:35 -1000 (HST)
In porting some astronomical data handling software from linux/unix to
Cygwin (the latest nework release, 1.1.0 I believe), I discovered an
error in how gcc 2.95.2-2 generates output of a floating or double
variable set to 0.0 when formatted with a %E format. I didn't get any
hits on this problem in the FAQ or mail lists. The following little
test program illustrates the problem:
main()
{
float value = 0.0;
double dvalue = 0.0;
printf("%11.0f %15.6f %13.5E\n",value,value,value);
printf("%11.0f %15.6f %21.14E\n",dvalue,dvalue,dvalue);
dvalue = value = 3.0;
printf("%11.0f %15.6f %13.5E\n",value,value,value);
printf("%11.0f %15.6f %21.14E\n",dvalue,dvalue,dvalue);
}
Under linux/unix, this little program produces the following
output:
0 0.000000 0.00000E+00
0 0.000000 0.00000000000000E+00
3 3.000000 3.00000E+00
3 3.000000 3.00000000000000E+00
But the following is produced by the Cygwin gcc 2.95.2-2:
0 0.000000 0.
0 0.000000 0.
3 3.000000 3.00000E+00
3 3.000000 3.00000000000000E+00
When the output is sent to the terminal screen, the results for 0.0 with
the E format come out as 0. followed by some "strange" characters and
then E+00. Saving stdout to a file and then moving from Cygwin to linux,
I find there are a bunch of control characters after the leading 0. and
preceeding the E+00.
Sorry, I don't know enough about compilers to even take a wack a solving
this problem, but would very much appreciate a patch for the sources
or a working binary with the patch incorporated if someone could kindly
generate one.
Thanks,
Jim Heasley
Professor of Astronomy
Institute for Astronomy heasley@hoku.ifa.hawaii.edu
University of Hawaii phone: 808-956-6826
2680 Woodlawn Drive fax: 808-956-9580
Honolulu, HI 96822
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com