[Bug middle-end/46488] [4.5 regression] server/core_filters.c from apache httpd 2.2.17 miscompiled at -O3

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Wed Dec 1 10:13:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488

--- Comment #36 from rguenther at suse dot de <rguenther at suse dot de> 2010-12-01 10:12:21 UTC ---
On Tue, 30 Nov 2010, ebotcazou at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46488
> 
> --- Comment #35 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-11-30 23:25:57 UTC ---
> > I said in my comment that adding temporaries could correct the issue,
> > but they do not. I had some different test trees, and reviewing them,
> > what actually "corrected" in one of the builds was adding a volatile
> > modifier to APR_RING_HEAD, as in:
> > 
> > #define APR_RING_HEAD(head, elem)                    \
> >     struct head {                            \
> >     struct elem * volatile next;                    \
> >     struct elem * volatile prev;                    \
> >     }
> > 
> > to better match APR_RING_ENTRY.
> 
> Probably a reasonable workaround.  Having 2 different constructs APR_RING_ENTRY
> and APR_RING_HEAD for the same object is strange in any case.

If you'd re-use the same type the issue would go away as well (I think).

Richard.



More information about the Gcc-bugs mailing list