Thread safety analysis: add array operations to SExpr.
llvm-svn: 206907
diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp
index b22d642..3916809 100644
--- a/clang/lib/Analysis/ThreadSafetyCommon.cpp
+++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp
@@ -399,7 +399,10 @@
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);
}