baloghadamsoftware added inline comments.

================
Comment at: lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp:204
+                                          CheckerContext &C) const {
+  const auto *ThisExpr = COCE->getArg(0);
+
----------------
baloghadamsoftware wrote:
> NoQ wrote:
> > This code definitely deserves comments. I managed to understand that this 
> > is a workaround for completely replacing the conjured symbol with a lazy 
> > value upon calling a method over temporary, which the core does from time 
> > to time, and i suspect that this code may break whenever more than one 
> > checker starts doing this (i.e. you'd have to skip more than one 
> > predecessor node in this case).
> > 
> > I still think that the root cause here is conjured structural symbols which 
> > i'd probably prefer to get rid of completely, and then this hack wouldn't 
> > be necessary.
> I think I do not fully understand you here: do you mean some fix in the core?
I am not sure why I am handleing CXXOperatorCall here. Instead, I should handle 
every call, but only instance calls. For final solution would it not be better 
to make the checker explicitely metrialize a temporary object here instead of 
just creating it silently? Then my existing checker function would catch it.


https://reviews.llvm.org/D25660



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to