================ 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
