baloghadamsoftware marked an inline comment as done. baloghadamsoftware added a comment.
In D77229#1967269 <https://reviews.llvm.org/D77229#1967269>, @NoQ wrote: > In D77229#1966888 <https://reviews.llvm.org/D77229#1966888>, > @baloghadamsoftware wrote: > > > Not so strange, of course, they are destructed before the `postCall()` as > > they should be, but the question still remains: how to keep them alive for > > post-checking the call, but not forever. > > > Nope, temporaries are destroyed at the end of the full-expression, which is > much later than `PostCall`. > > What code are you debugging? OK, maybe I phrased it incorrectly. It is not destroyed, but not "live" anymore. Thus `isLive()` returns false. I am trying to debug `vector_insert_begin()` (line 954). ================ Comment at: clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:231-235 + if (dyn_cast_or_null<InitListExpr>(LCtx->getParentMap().getParent(E))) { + MemRegionManager &MRMgr = getSValBuilder().getRegionManager(); + return std::make_pair( + State, loc::MemRegionVal(MRMgr.getCXXTempObjectRegion(E, LCtx))); + } ---------------- NoQ wrote: > baloghadamsoftware wrote: > > Did you mean this piece of code? It returns `&temp_object{struct > > simple_iterator_base, S44016}`. Is this correct? If so, I will factor out > > this code and put it into a common function to be used by both this > > function and the original one. > No, this one's for members, we've been talking about base classes. Oh yes, I see it now. But which one then? Maybe line 585? Or the whole `switch` expression? Sorry, I am not sure I fully understand this piece of code. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77229/new/ https://reviews.llvm.org/D77229 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits