summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2013-03-22 21:30:22 +0000
committerTed Kremenek <kremenek@apple.com>2013-03-22 21:30:22 +0000
commit21c29e5713f3345773cd301c00c9f5b2b7f1ff53 (patch)
tree8b7c24c0db23e0e8b29329b7a9f19ded7f957247 /clang
parent11ef0b7778e5a8d18f75b4969acbcd8b86b0cbc4 (diff)
downloadbcm5719-llvm-21c29e5713f3345773cd301c00c9f5b2b7f1ff53.tar.gz
bcm5719-llvm-21c29e5713f3345773cd301c00c9f5b2b7f1ff53.zip
Add test case for PR 12921.
llvm-svn: 177767
Diffstat (limited to 'clang')
-rw-r--r--clang/test/Analysis/misc-ps-region-store.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/Analysis/misc-ps-region-store.cpp b/clang/test/Analysis/misc-ps-region-store.cpp
index 6fbe441b274..902a5e52711 100644
--- a/clang/test/Analysis/misc-ps-region-store.cpp
+++ b/clang/test/Analysis/misc-ps-region-store.cpp
@@ -721,3 +721,22 @@ void rdar12964481_b(_ComplexT *y) {
*y *= x; // no-warning
}
+// Test case for PR 12921. This previously produced
+// a bogus warning.
+static const int pr12921_arr[] = { 0, 1 };
+static const int pr12921_arrcount = sizeof(pr12921_arr)/sizeof(int);
+
+int pr12921(int argc, char **argv) {
+ int i, retval;
+ for (i = 0; i < pr12921_arrcount; i++) {
+ if (argc == i) {
+ retval = i;
+ break;
+ }
+ }
+
+ // No match
+ if (i == pr12921_arrcount) return 66;
+ return pr12921_arr[retval];
+}
+
OpenPOWER on IntegriCloud