baloghadamsoftware marked an inline comment as done. baloghadamsoftware added inline comments.
================ Comment at: lib/StaticAnalyzer/Checkers/IteratorChecker.cpp:1277-1292 + State = setContainerData(State, ContReg, CData->newEnd(OldEndSym)); } else { State = setContainerData(State, ContReg, - ContainerData::fromEnd(NewEndSym)); + ContainerData::fromEnd(OldEndSym)); } + // Then generate and assign a new "end" symbol for the old container. + auto NewEndSym = ---------------- Szelethus wrote: > I'm confused, are these changes related to this patch? It doesn't seem to be. Yes, they are. Since we want to track the iterator positions upwards along the bugpath as far a possible I had to reverse one of my decisions. When I first decided it was really like a coin thrown up, but now it turned out I took the wrong choice considering the visitor. The change is that upon move assignment of a container the iterators are transferred to the new container, except the past-the-end iterator. However we also have iterator positions relative to the past-the-end iterator (thus using the same symbol) which must be transferred. So I had to separate them from the past-the-end positions by generating a new end symbol. I originally used this new symbol for the positions to be transferred and kept the old symbol for the past-the-end positions. However this makes tracking of the non past-the-end positions very difficult so I reversed it and now I transfer the old symbol and use the new for the past-the-end positions. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62525/new/ https://reviews.llvm.org/D62525 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits