On Fri, 23 Nov 2018, Helmut Eller wrote:
On Fri, Nov 23 2018, Marc Glisse wrote:
On Fri, 23 Nov 2018, Helmut Eller wrote:
when compiling this example with gcc -O2 -ftrapv:
[...]
Try with "-fsanitize=undefined
-fsanitize-undefined-trap-on-error". -ftrapv is quite broken and not
really maintained. I think fixing it would mean making it an alias for
the sanitizer version.
Thanks for the quick reply. That does indeed produce exactly the code I
want.
It doesn't seem so detect overflow for short or char types, though:
That's because there is no overflow. Read about integer promotion.
For __int128 it seems to be detected again, but the code seems very
long-winded.
Feel free to search for an existing report in gcc's bugzilla and file a
new one if you can't find it, if there is a missed optimization.
--
Marc Glisse