This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3
- From: "jorton at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 29 Nov 2010 11:39:24 +0000
- Subject: [Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3
- Auto-submitted: auto-generated
- References: <bug-46488-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488
--- Comment #21 from Joe Orton <jorton at redhat dot com> 2010-11-29 11:38:44 UTC ---
Thanks for the explanation.
(In reply to comment #20)
> > Why specifically does this result in an C99 aliasing violation anyway? The
> > pointers to which this macro evaluates are never dereferenced, only compared
> > for equality.
>
> I think they are dereferenced by the macro APR_RING_{NEXT,PREV} in some cases.
The pointers are constructed explicitly to never be dereferenced, only compared
for equality; if a dereference exists it would be a bug, but I don't see one.
In the absence of such a smoking gun, can an C99 aliasing issue occur merely in
handling pointer equivalence?