summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/array-struct.c
diff options
context:
space:
mode:
authorAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-13 19:17:20 +0000
committerAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-13 19:17:20 +0000
commit6956d290341b3ceb7fb7599c9c772c08b0c2450a (patch)
treeb1920f96ce84f147cf1af44171a7575e944e57f5 /clang/test/Analysis/array-struct.c
parenta992f71bef1efc590be688a056b1c75432c019af (diff)
downloadbcm5719-llvm-6956d290341b3ceb7fb7599c9c772c08b0c2450a.tar.gz
bcm5719-llvm-6956d290341b3ceb7fb7599c9c772c08b0c2450a.zip
[analyzer] Fix ExprEngine::VisitMemberExpr
AST may contain intermediate ParenExpr nodes between MemberExpr and ArrayToPointerDecay. This diff adjusts the check in ExprEngine::VisitMemberExpr accordingly. Test plan: make -j8 check-clang-analysis Differential revision: https://reviews.llvm.org/D24484 llvm-svn: 281373
Diffstat (limited to 'clang/test/Analysis/array-struct.c')
-rw-r--r--clang/test/Analysis/array-struct.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Analysis/array-struct.c b/clang/test/Analysis/array-struct.c
index 28e09ad2e88..18f226a8ae6 100644
--- a/clang/test/Analysis/array-struct.c
+++ b/clang/test/Analysis/array-struct.c
@@ -135,6 +135,17 @@ void f14() {
void bar(int*);
+struct s3 gets3() {
+ struct s3 s;
+ return s;
+}
+
+void accessArrayFieldNoCrash() {
+ bar(gets3().a);
+ bar((gets3().a));
+ bar(((gets3().a)));
+}
+
// Test if the array is correctly invalidated.
void f15() {
int a[10];
OpenPOWER on IntegriCloud