This is the mail archive of the gcc@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]

Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."


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!



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