gcc 2.96 optimization bug on RedHat7.0/alpha

Uncle George gatgul@voicenet.com
Wed Apr 18 06:22:00 GMT 2001


Any compiler that does not produce the correct code has a bug - baring any error messages.

I suppose one has to deceide if an error message should be produced  OR proper code should be produced.

Its not terribly reasonable to have the defectively generated code around for some poor user to fall
over upon.  AND I dont want to spend another day trying to figure  out which one of the newly
installed  Redhat 6.2/7.0, gcc, glib's were at fault in producing the wrong results ( for what ever
reason )

/gat

BTW did I say thanks for the insight ? It looks like a strange subject to get into, and a fairly
dangerous one if not taken into consideration. Its something I would not have considered at all.
Hummmm.

Brad Lucier wrote:

> >
> > with -O2 i get the wrong answer
> >
> >                 [gat@LX gat]$ gcc -g -O2 a.c -o a
> >                 [gat@LX gat]$ ./a
> >                 FlooR: x = 22.16, i0=1, i1=536871996
> >
> >
> > with -O i get a passable answer
> >
> >                 [gat@LX gat]$ gcc -g -O a.c -o a
> >                 [gat@LX gat]$ ./a
> >                 FlooR: x = 22.16, i0=1077291253, i1=-1030792151
>
> In ISO C, the compiler can assume that the address of a real is not
> the same as the address of an int, and gcc does so unless you give
> the -fno-strict-aliasing flag:
>
> popov-9% gcc -v
> Reading specs from /export/u10/egcs-test/lib/gcc-lib/alphaev6-unknown-linux-gnu/3.1/specs
> Configured with: ../configure --prefix=/export/u10/egcs-test --enable-checking=no --enable-shared=no
> gcc version 3.1 20010415 (experimental)
> popov-10% gcc -O2 -o a a.c
> popov-11% ./a
> FlooR: x = 22.16, i0=1, i1=536871788
> popov-12% gcc -O2 -fno-strict-aliasing -o a a.c
> popov-13% ./a
> FlooR: x = 22.16, i0=1077291253, i1=-1030792151
>
> So it may not be a bug.
>
> Brad
>
> _______________________________________________
> Axp-list mailing list
> Axp-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/axp-list



More information about the Gcc-bugs mailing list