diff options
author | Ted Kremenek <kremenek@apple.com> | 2012-02-21 00:46:29 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2012-02-21 00:46:29 +0000 |
commit | b14b42d477fc68a10ba5f7915c5cd1069a14719c (patch) | |
tree | 380c0295350a207d22ce8be231a78857d5e4399c /clang/test/Analysis/misc-ps.c | |
parent | 7fcbd902b49f1776cd514e8e0056a159d46f5a01 (diff) | |
download | bcm5719-llvm-b14b42d477fc68a10ba5f7915c5cd1069a14719c.tar.gz bcm5719-llvm-b14b42d477fc68a10ba5f7915c5cd1069a14719c.zip |
Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586>
llvm-svn: 151012
Diffstat (limited to 'clang/test/Analysis/misc-ps.c')
-rw-r--r-- | clang/test/Analysis/misc-ps.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Analysis/misc-ps.c b/clang/test/Analysis/misc-ps.c index 8a36efb9950..f81b0ddc68d 100644 --- a/clang/test/Analysis/misc-ps.c +++ b/clang/test/Analysis/misc-ps.c @@ -111,3 +111,18 @@ struct rdar10385775 { void RDar10385775(struct rdar10385775* p) { p->name = L"a"; } + +// Test double loop of array and array literals. Previously this +// resulted in a false positive uninitailized value warning. +void rdar10686586() { + int array1[] = { 1, 2, 3, 0 }; + int array2[] = { 1, 2, 3, 0 }; + int *array[] = { array1, array2 }; + int sum = 0; + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 4; j++) { + sum += array[i][j]; // no-warning + } + } +} + |