aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Analysis/PR3135.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Analysis/PR3135.c b/test/Analysis/PR3135.c
new file mode 100644
index 0000000000..1fca57b47b
--- /dev/null
+++ b/test/Analysis/PR3135.c
@@ -0,0 +1,20 @@
+// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region -verify %s
+// PR3135
+
+typedef struct {
+ int *a;
+} structure;
+
+int bar(structure *x);
+
+int foo()
+{
+ int x;
+ structure y = {&x};
+
+ // the call to bar may initialize x
+ if (bar(&y) && x) // no-warning
+ return 1;
+
+ return 0;
+}