Stefan Kaltenbrunner <[EMAIL PROTECTED]> wrote: > > Darcy Buskermolen wrote: > > On November 19, 2004 10:55 am, you wrote: > > > >>The answer is: it's a gcc bug. The attached program should print > >>x = 12.3 > >>y = 12.3 > >> > >>but if compiled with -O or -O2 on Stefan's machine, I get garbage: > >> > >>$ gcc -O ftest.c > >>$ ./a.out > >>x = 12.3 > >>y = 1.47203e-39 > >>$ gcc -v > >>Reading specs from /usr/lib/gcc-lib/sparc64-unknown-openbsd3.6/3.3.2/specs > >>Configured with: > >>Thread model: single > >>gcc version 3.3.2 (propolice) > >>$ > > > > > > I can confirm this behavior on Solaris 8/sparc 64 as well. > > some more datapoints: > > solaris 2.9 with gcc 3.1 is broken(-O3 does not help here) > linux/sparc64 (debian) with gcc 3.3.5 is broken too > > So it looks like at least gcc 3.1 and gcc 3.3.x are affected on Sparc64 > on all operating systems.
Yet Another Datapoint: $ uname -a SunOS jimsun 5.7 Generic_106541-29 sun4u sparc SUNW,UltraSPARC-IIi-Engine $ gcc -v ... gcc version 3.3.1 $ gcc -O -m64 test.c $ a.out x = 12.3 y = 2.55036e-42 Same on a "real" UltraSparc box, running Solaris 8 and gcc 3.3.1 at work. Looks like it's time for a gcc upgrade. Jim ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend