changing "configure" to default to "gcc -g -O2 -fwrapv ..."
Robert Dewar
dewar@adacore.com
Sat Mar 24 19:27:00 GMT 2007
Ian Lance Taylor wrote:
> You're right, I shouldn't have said "implementation defined."
>
> What will happen with -fno-strict-overflow is whatever the processor
> ISA happens to do when a signed arithmetic operation overflows. For
> ordinary machines it will just wrap.
Given that all ordinary machines wrap, is there really enough
difference in performance in practice between -fno-strict-overflow
and -fwrapv to justify adding this vague and rather dubious (given
it is vague) switch. Saying "whatever the processor does" is not
enough, since on some processors there are multiple addition
instructions (e.g. trapping and non-trapping variants)
>
> It is intentionally vague. If you need non-vague semantics, you
> should use -fwrapv. -fno-strict-overflow is intended to provide the
> vague semantics which C compilers have historically provided, in
> support of existing code.
Well I find vague semantics intrinsically unappealing!
More information about the Gcc
mailing list