================
Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:596
@@ +595,3 @@
+
+  ProgramStateRef State = Pred->getState();
+
----------------
Jordan Rose wrote:
> Unused?
apparently yes. removed.

================
Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:598-600
@@ +597,5 @@
+
+  const MemRegion *Region =
+      getSValBuilder().getRegionManager().getCXXTempObjectRegion(
+          D.getBindTemporaryExpr(), Pred->getLocationContext());
+
----------------
Jordan Rose wrote:
> Hm. This doesn't actually refer to the object being bound -- the temp region 
> is created for the MaterializeTemporaryExpr, not the CXXBindTemporaryExpr. 
> Moreover, it's currently not consistent -- if the value being materialized is 
> already represented as a temporary region in the analyzer, we're not going to 
> copy it.
> 
> (Actually, I'm not sure this happens anymore. I've tightened up our handling 
> of glvalues vs. prvalues since writing that code.)
> 
> The best thing to do might be to just use UnknownVal as the "this" value for 
> now (i.e. until you're/we're ready to tackle this problem for real). I think 
> this should just work if you pass NULL to VisitCXXDestructor (which will 
> trickle down to a NULL value in CXXDestructorCall), but there might be some 
> fallout cleanup work.
Done. Passing NULL seems to work just fine.

================
Comment at: lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp:809
@@ +808,3 @@
+  // inline them.
+  // FIME: Remove this once temp destructors are working.
+  if ((*currBldrCtx->getBlock())[currStmtIdx].getAs<CFGTemporaryDtor>())
----------------
Jordan Rose wrote:
> Typo: "FIME"
Done.


http://llvm-reviews.chandlerc.com/D1131
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to