summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/ThreadSafetyCommon.cpp
diff options
context:
space:
mode:
authorDeLesley Hutchins <delesley@google.com>2014-04-22 17:31:23 +0000
committerDeLesley Hutchins <delesley@google.com>2014-04-22 17:31:23 +0000
commitf1a311653a70afd668e2a09087d3e0916653aae0 (patch)
treead0007882d26fb387ca5da5b9908d6ea3a6944fa /clang/lib/Analysis/ThreadSafetyCommon.cpp
parent96918bc40625f47f99316499d04ebab1f90b09c0 (diff)
downloadbcm5719-llvm-f1a311653a70afd668e2a09087d3e0916653aae0.tar.gz
bcm5719-llvm-f1a311653a70afd668e2a09087d3e0916653aae0.zip
Thread safety analysis: add array operations to SExpr.
llvm-svn: 206907
Diffstat (limited to 'clang/lib/Analysis/ThreadSafetyCommon.cpp')
-rw-r--r--clang/lib/Analysis/ThreadSafetyCommon.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp
index b22d6421910..391680918e3 100644
--- a/clang/lib/Analysis/ThreadSafetyCommon.cpp
+++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp
@@ -399,7 +399,10 @@ til::SExpr *SExprBuilder::translateCastExpr(const CastExpr *CE,
til::SExpr *
SExprBuilder::translateArraySubscriptExpr(const ArraySubscriptExpr *E,
CallingContext *Ctx) {
- return new (Arena) til::Undefined(E);
+ til::SExpr *E0 = translate(E->getBase(), Ctx);
+ til::SExpr *E1 = translate(E->getIdx(), Ctx);
+ auto *AA = new (Arena) til::ArrayAdd(E0, E1);
+ return new (Arena) til::ArrayFirst(AA);
}
OpenPOWER on IntegriCloud