[cfe-dev] Possible clang bug with -O2, wrong if branch entered, in clang version 2.1 (tags/Apple/clang-163.7.1)

Jonathan Sauer jonathan.sauer at gmx.de
Tue Feb 21 09:04:33 PST 2012


Hello,

>>> Sorry, there was a problem with cut&paste of the gist URL, the correct
>> one is:
>>> 
>>> https://gist.github.com/1876875
>> 
>> Hi Salvatore,
>> 
>> If I understand this code correctly, there is a signed overflow.
>> Signed overflow is undefined behavior.  Clang (or LLVM) apparently
>> takes advantage of that by optimizing (incr < 0 && value > oldvalue)
>> => false.
> 
> And you can get clang to barf on such occurrences:
> <http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html>

Is there a reason why integer overflow checks are only inserted with -ftrapv, but not with
-fcatch-undefined-behavior? (clang r151042)


Jonathan





More information about the cfe-dev mailing list