[PATCH] D13126: New static analyzer checker for loss of sign/precision
Daniel Marjamäki via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 24 01:42:02 PDT 2015
danielmarjamaki created this revision.
danielmarjamaki added a reviewer: zaks.anna.
danielmarjamaki added a subscriber: cfe-commits.
This is a new static analyzer checker that warns when there is loss of sign and loss of precision.
It is similar in spirit to Wsign-compare/Wsign-conversion etc. But this checker uses proper analysis so the output is much more meaningful.
It has been tested on debian packages.
loss of precision results:
https://drive.google.com/file/d/0BykPmWrCOxt2WFV3NVhJdE94QUE/view
2195 projects, 1026 warnings
loss of sign results:
https://drive.google.com/file/d/0BykPmWrCOxt2cUpSQVlmUVJmR0k/view
2195 projects, 3613 warnigs
It seems to me that this checker shows that Clang does not properly track values. It seems to think that result of ! can be negative for instance.
http://reviews.llvm.org/D13126
Files:
lib/StaticAnalyzer/Checkers/CMakeLists.txt
lib/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
test/Analysis/conversion.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13126.35596.patch
Type: text/x-patch
Size: 9234 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150924/fa2637cb/attachment.bin>
More information about the cfe-commits
mailing list