http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48766
--- Comment #8 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-12-06 20:12:12 UTC --- On Tue, 6 Dec 2011, iant at google dot com wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48766 > > --- Comment #7 from iant at google dot com <iant at google dot com> > 2011-12-06 18:40:58 UTC --- > > I don't know about -fstrict-overflow, but maybe that should be separate > > (controlling whether, in cases where the default semantics are in effect, > > certain optimizations relating to overflow are made). > > That was my intent for -fno-strict-overflow: it does not change the > semantics, it just disables optimizations. Of course when -fwrapv or > -ftrapv are set, overflow behaviour is defined, so -fno-strict-overflow > does nothing. -fno-strict-overflow is only meaningful when neither > -fwrapv nor -ftrapv are set. As I understand it, -fno-strict-overflow also affects optimizations for pointer overflow in any of the three -fwrapv/-ftrapv/default modes (those modes only relate to integer arithmetic semantics, not anything for pointer arithmetic).