summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/additive-folding-range-constraints.c
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Teach constraint managers about unsigned comparisons.Jordan Rose2013-03-231-0/+132
| | | | | | | | | | | In C, comparisons between signed and unsigned numbers are always done in unsigned-space. Thus, we should know that "i >= 0U" is always true, even if 'i' is signed. Similarly, "u >= 0" is also always true, even though '0' is signed. Part of <rdar://problem/13239003> (false positives related to std::vector) llvm-svn: 177806
* [analyzer] Convert many existing tests to use clang_analyzer_eval.Jordy Rose2012-05-161-156/+71
| | | | llvm-svn: 156920
* [analyzer] Rework both constraint managers to handle mixed-type comparisons.Jordy Rose2012-05-081-0/+158
| | | | | | | | | | | | | | | | | | This involves keeping track of three separate types: the symbol type, the adjustment type, and the comparison type. For example, in "$x + 5 > 0ULL", if the type of $x is 'signed char', the adjustment type is 'int' and the comparison type is 'unsigned long long'. Most of the time these three types will be the same, but we should still do the right thing when the comparison value is out of range, and wraparound should be calculated in the adjustment type. This also re-disables an out-of-bounds test; we were extracting the symbol from non-additive SymIntExprs, but then throwing away the integer. Sorry for the large patch; both the basic and range constraint managers needed to be updated together, since they share code in SimpleConstraintManager. llvm-svn: 156361
* [analyzer] Fix RUN line and general cleanup for additive folding tests.Jordy Rose2012-05-031-10/+10
| | | | llvm-svn: 156061
* [analyzer] rename all experimental checker packages to have 'experimental' ↵Ted Kremenek2011-08-031-1/+1
| | | | | | be the common root package. llvm-svn: 136835
* [analyzer] Remove '-analyzer-check-objc-mem' flag, the nominee for best ↵Argyrios Kyrtzidis2011-02-281-1/+1
| | | | | | misnomer award. llvm-svn: 126676
* [analyzer] Remove '-analyzer-experimental-checks' flag.Argyrios Kyrtzidis2011-02-281-1/+1
| | | | llvm-svn: 126607
* Don't depend on system headers in clang -cc1 tests.Benjamin Kramer2010-06-241-1/+1
| | | | | | The constant was copied from clang's limits.h. llvm-svn: 106732
* Revert "Tweak tests to hopefully fix include of limits.h on win32.", tweak ↵Daniel Dunbar2010-06-231-1/+1
| | | | | | fails on linux. llvm-svn: 106661
* Tweak tests to hopefully fix include of limits.h on win32.Daniel Dunbar2010-06-231-1/+1
| | | | llvm-svn: 106639
* Fold additive constants, and support comparsions of the form $sym+const1 <> ↵Jordy Rose2010-06-181-0/+99
const2 llvm-svn: 106339
OpenPOWER on IntegriCloud