On Wed, Aug 15, 2007 at 02:40:04PM -0400, Greg Ames wrote: ... > the loop happens with our normal xlc -O2 optimization. turning off > optimization makes the problem go away. when walking thru the optimized > code with dbx, it looks like neither the APR_BRIGADE_EMPTY nor the > APR_BRIGADE_FIRST are accessing the bb head pointers in memory after the > loop is initialized. at first I was convinced this was an xlc optimizer > bug, but Googling did not reveal any known problems like this.
Nice. There was discussion about a pointer aliasing issue in this code before, though I can't find a reference. I think the issue you describe matches that of a pointer aliasing bug, anyway; if xlc has an equivalent of gcc's -fno-strict-aliasing that could be used to perhaps confirm it? joe
