[PATCH] D52200: Thread safety analysis: Handle ObjCIvarRefExpr in SExprBuilder::translate

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 18 05:13:52 PDT 2018


aaron.ballman added a reviewer: rjmccall.
aaron.ballman added a comment.

Adding a reviewer who knows more about ObjC than I do.



================
Comment at: include/clang/Analysis/Analyses/ThreadSafetyCommon.h:400
   til::SExpr *translateMemberExpr(const MemberExpr *ME, CallingContext *Ctx);
+  til::SExpr *translateObjCIVarRefExpr(const ObjCIvarRefExpr *ME,
+                                       CallingContext *Ctx);
----------------
`ME` is kind of a poor name; can you switch to `IVRE` like you used in the implementation?


================
Comment at: lib/Analysis/ThreadSafetyCommon.cpp:362
+  til::Project *P = new (Arena) til::Project(E, D);
+  if (hasCppPointerType(BE))
+    P->setArrow(true);
----------------
I feel like this will always return false. However, I wonder if `IVRE->getBase()->isArrow()` is more appropriate here?


Repository:
  rC Clang

https://reviews.llvm.org/D52200





More information about the cfe-commits mailing list