diff options
author | Jordy Rose <jediknil@belkadan.com> | 2012-05-12 17:32:59 +0000 |
---|---|---|
committer | Jordy Rose <jediknil@belkadan.com> | 2012-05-12 17:32:59 +0000 |
commit | d3fb1773e29b4ee9fe58044f0daf66096cba2483 (patch) | |
tree | 535e488bd30b01ae4c13dd8fdc90575b331f5fd9 | |
parent | 4af4487ba480819ca21b57732aa5da442e9671bb (diff) | |
download | bcm5719-llvm-d3fb1773e29b4ee9fe58044f0daf66096cba2483.tar.gz bcm5719-llvm-d3fb1773e29b4ee9fe58044f0daf66096cba2483.zip |
[analyzer] Test case: p->x is the same as p[0].x. (PR7297)
llvm-svn: 156720
-rw-r--r-- | clang/test/Analysis/array-struct-region.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/Analysis/array-struct-region.c b/clang/test/Analysis/array-struct-region.c index 4b085c8d700..8be86883a00 100644 --- a/clang/test/Analysis/array-struct-region.c +++ b/clang/test/Analysis/array-struct-region.c @@ -45,3 +45,16 @@ void nested_compound_literals_float(float rad) { vec[a][1] *= rad; // no-warning } } + + +void struct_as_array() { + struct simple { int x; }; + struct simple a; + struct simple *p = &a; + p->x = 5; + if (!p[0].x) + return; // expected-warning{{never executed}} + if (p[0].x) + return; // no-warning +} + |