I found this reference to similar xlc pointer aliasing options:

http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/compiler_ref/opt_alias.htm

backed out the "volatile" attributes from APR_RING_HEAD, tried -O2 
-qalias=noansi which looks like the most conservative way to go for aliasing 
with any optimization enabled, but I still see the loop.  I'm surprised because 
pointer aliasing sounds like the problem.  

it would be nice if we could change the ring structure definitions so that it 
is clear that the ring head contains the same type of thing that the ring 
entries do, so compilers cannot get confused about what the ring entry pointers 
might refer to.  but I wouldn't want to have special cases for removal/addition 
when the element is adjacent to the head, which Dean was so careful to avoid, 
or code that has to use negative offsets to back up from the element link 
fields to the begininning of the containing structure.

Greg
----- Original Message ----
From: Joe Orton <[EMAIL PROTECTED]>

[...]

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






       
____________________________________________________________________________________
Sick sense of humor? Visit Yahoo! TV's 
Comedy with an Edge to see what's on, when. 
http://tv.yahoo.com/collections/222

Reply via email to