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

Reply via email to