gcc-4.3 optimizer bugs?

Orion Poplawski orion at cora.nwra.com
Wed Feb 27 18:52:06 UTC 2008


Neal Becker wrote:
> We are trying to track down a numerical problem with unuran that occurs on
> gcc-4.3.  I know that gcc now has a very extensive test suite, and bugs are
> not common.  I'm just wondering, are others finding similar problems with
> gcc-4.3?
> 
> We are working on preparing a bug report.  The symptoms are:
> 1) Problem disappears if -O0
> 2) Problem disappears if a printf is added
> 3) valgrind is silent
> 

I'm seeing something vaguely similar, but more pointer oriented.

qhull has a routine for adding elements to a list (qh_setappend).  At 
the end it does:


   *(++endp)= ((void *)0);

to set the last element to null to signify the end of the list.

With -O2 I see:

endp(8d0f5c0) = 0
after qh_setappend
&((*simplex)->e[4].p) = 8d0f5c4
((vertexT*)((*simplex)->e[4].p)) = 4

Without I get:

endp(95755c4) = 0
after qh_setappend
&((*simplex)->e[4].p) = 95755c4
((vertexT*)((*simplex)->e[4].p)) = 0

So, with -O2, the pointer apparently isn't incremented (8d0f5c0 != 
8d0f5c4), but without it is (95755c4 == 95755c4).

Thoughts?


-- 
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion at cora.nwra.com
Boulder, CO 80301              http://www.cora.nwra.com




More information about the fedora-devel-list mailing list