Ian Lance Taylor wrote:
The new option -fstrict-overflow tells gcc that it can assume the strict signed overflow semantics prescribed by the language standard. This option is enabled by default at -O2 and higher. Using -fno-strict-overflow will tell gcc that it can not assume that signed overflow is undefined behaviour. The general effect of using this option will be that signed overflow will become implementation defined. This will disable a number of generally harmless optimizations, but will not have the same effect as -fwrapv.
Can you share the implementation definition (implementation defined generally means that the implementation must define what it does). This seems awfully vague.