[PATCH] D77229: [Analyzer][WIP] Avoid handling of LazyCompundVals in IteratorModeling

Balogh, Ádám via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 8 07:02:35 PDT 2020


baloghadamsoftware added a comment.

Another showstopper: the test `container_modeling.cpp` passed with analyzer option `container-inlining=false`. However it faild with `container-inlining=true -DINLINE=1`. The problem is that the `CFGElement` for function `iterator begin() { return iterator(_start); }` is just a `CFGStmt` and not `CFGCXXRecordTypedCall`. I started debugging `CFGBuilder` and its construction context is never created. The strange thing is that to have a construction context created the function `consumeConstructionContext()` should have been called for the function. This function is called by `findConstructionContexts()`, but this never happens for `begin()`, just for the construction inside it. Actually, `VisitCallExpr()` never calls this function, only for the arguments. I am totally lost here. What is wrong?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77229/new/

https://reviews.llvm.org/D77229





More information about the cfe-commits mailing list