summaryrefslogtreecommitdiffstats
path: root/test/Analysis/misc-ps-ranges.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/misc-ps-ranges.m')
-rw-r--r--test/Analysis/misc-ps-ranges.m23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Analysis/misc-ps-ranges.m b/test/Analysis/misc-ps-ranges.m
new file mode 100644
index 0000000..a191bec
--- /dev/null
+++ b/test/Analysis/misc-ps-ranges.m
@@ -0,0 +1,23 @@
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=basic -analyzer-constraints=range --verify -fblocks %s &&
+// RUN: clang-cc -analyze -checker-cfref --analyzer-store=region -analyzer-constraints=range --verify -fblocks %s
+
+// <rdar://problem/6776949>
+// main's 'argc' argument is always > 0
+int main(int argc, char* argv[]) {
+ int *p = 0;
+
+ if (argc == 0)
+ *p = 1;
+
+ if (argc == 1)
+ return 1;
+
+ int x = 1;
+ int i;
+
+ for(i=1;i<argc;i++){
+ p = &x;
+ }
+
+ return *p; // no-warning
+} \ No newline at end of file
OpenPOWER on IntegriCloud