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