Ada front-end depends on signed overflow
Paul Schlie
schlie@comcast.net
Fri Jun 3 15:35:00 GMT 2005
> From: Andrew Pinski <pinskia@physics.uc.edu>
>>>> (Without -fwrapv, integer overflow is undefined, and subsequent range
>>>> checks can be optimized away, so that it might cause erroneous
>>>> behavior.)
>>>
>>> - Since for all practical purposes most (if not all) target's use
>>> 2's complement integer representations which naturally "wrap", might
>>> it be simply best to presume that all do "wrap" by default, but allow
>>> -fnowrapv to disable it if ever required by the odd target/language?
>>
>> Enabling -fwrapv disables quite a few optimizations on signed integer
>> types in C code. OTOH, you should compile most real-world C code with
>> -fwrapv anyway. See my security advisory on incorrect overflow
>> checking in C; this is a rather widespread issue, even in new code.
>
> No they should be using -ftrapv instead which traps on overflow and then
> make sure they are not trapping when testing.
- why? what language or who's code/target ever expects such a behavior?
More information about the Gcc
mailing list