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

Reply via email to