History log of /external/clang/test/Analysis/misc-ps.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1acb394679b6e644044a0f6c358229759009b1a6 29-May-2013 Jordan Rose <jordan_rose@apple.com> [analyzer] Accept references to variables declared "extern void" (C only).

In C, 'void' is treated like any other incomplete type, and though it is
never completed, you can cast the address of a void-typed variable to do
something useful. (In C++ it's illegal to declare a variable with void type.)

Previously we asserted on this code; now we just treat it like any other
incomplete type.

And speaking of incomplete types, we don't know their extent. Actually
check that in TypedValueRegion::getExtent, though that's not being used
by any checkers that are on by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
3e5ebf1a05603e08f2d0b2b2a5fa9406fe4cfb22 06-Apr-2013 Jordan Rose <jordan_rose@apple.com> [analyzer] When creating a trimmed graph, preserve whether a node is a sink.

This is important because sometimes two nodes are identical, except the
second one is a sink.

This bug has probably been around for a while, but it wouldn't have been an
issue in the old report graph algorithm. I'm ashamed to say I actually looked
at this the first time around and thought it would never be a problem...and
then didn't include an assertion to back that up.

PR15684

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
9195caf28f2a5dcef1e299bf3e5232a018ca1c68 12-Jan-2013 Ted Kremenek <kremenek@apple.com> Refine analyzer's handling of unary '!' and floating types to not assert.

Fixes PR 14634 and <rdar://problem/12903080>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
707a8659a546d32cf976d4c3927c793a643b18e1 11-Jan-2013 Ted Kremenek <kremenek@apple.com> Correctly propagate uninitialized values within logical expressions.

Fixes assertion failure reported in PR 14635 and
<rdar://problem/12902945> respectively.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
c957319941e93db2bc399efa7a9d1425bc609ba9 07-Sep-2012 Ted Kremenek <kremenek@apple.com> Add test case for <rdar://problem/12075238>, which recently got fixed by changes to RegionStore.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
469841a8e0967f038aa0f78e1926ce82e06248c7 25-Jul-2012 Ted Kremenek <kremenek@apple.com> Update ExprEngine's handling of ternary operators to find the ternary expression
value by scanning the path, rather than assuming we have visited the '?:' operator
as a terminator (which sets a value indicating which expression to grab the
final ternary expression value from).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
7f9b1d963d4b7e2faff7305733e3453130b402fe 21-Feb-2012 Ted Kremenek <kremenek@apple.com> Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
eb31a76d1cdaaf8874c549dc6bd964ff270d3822 05-Jan-2012 Anna Zaks <ganna@apple.com> [analyzer] Be less pessimistic about invalidation of global variables
as a result of a call.

Problem:
Global variables, which come in from system libraries should not be
invalidated by all calls. Also, non-system globals should not be
invalidated by system calls.

Solution:
The following solution to invalidation of globals seems flexible enough
for taint (does not invalidate stdin) and should not lead to too
many false positives. We split globals into 3 classes:

* immutable - values are preserved by calls (unless the specific
global is passed in as a parameter):
A : Most system globals and const scalars

* invalidated by functions defined in system headers:
B: errno

* invalidated by all other functions (note, these functions may in
turn contain system calls):
B: errno
C: all other globals (which are not in A nor B)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
729aa06b9d190ce01eccb7108415e698fc52f6f4 14-Nov-2011 Ted Kremenek <kremenek@apple.com> [analyzer;Regionstore] handle loads from StringLiteral elements for StringLiterals representing wide strings. Fixes PR 11294.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
2d950b15b2b2b650b102ecf0c6b50b45e0cb6a8a 01-Nov-2011 Anna Zaks <ganna@apple.com> [analyzer] Fix PR11282 - an assert in markAsSink

This is another fallout from the refactoring. We were
calling MarkAsSink on a cached out node.
(Fixes radar://10376675)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
cdcc653642d4ac9255c574fabe74a48149e06733 01-Nov-2011 Anna Zaks <ganna@apple.com> [analyzer] BranchNodeBuilder should not generate autotransitions.

This fixes radar://10367606

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
beedc5f4b027576f3a58d397f1599fc9d61baa4a 20-Oct-2011 Ted Kremenek <kremenek@apple.com> Add test case for analyzer crash reported in <rdar://problem/10308201> (which is already fixed in mainline).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
ac73ea8c12772fd0dcec71b83c193a2837de7f8b 10-Jun-2011 Jordy Rose <jediknil@belkadan.com> [analyzer] PR8962 again. Ban ParenExprs (and friends) from block-level expressions (by calling IgnoreParens before adding expressions to blocks). Undo 132769 (LiveVariables' local IgnoreParens), since it's no longer necessary.

Also, have Environment stop looking through NoOp casts; it didn't match the behavior of LiveVariables. And once that's gone, the whole cast block of that switch is unnecessary.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
7fead31dbee1a1349d360eff7b56dc6571449443 09-Jun-2011 Jordy Rose <jediknil@belkadan.com> [analyzer] Ignore parentheses around block-level expressions when computing liveness. Fixes the other half of PR8962.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
22043b5ad4278cba814608f0368813acfcf24b67 09-Jun-2011 Jordy Rose <jediknil@belkadan.com> [analyzer] Look through __extension__ expressions in a GRState's Environment. Fixes PR8962.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c
e5cfd52a3a5d4bb46f77323fa8fa0b973fcde7bc 26-May-2011 Ted Kremenek <kremenek@apple.com> static analyzer: when conservatively evaluating functions, don't invalidate the values of globals when the called function is strlen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/misc-ps.c