This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]