NoQ added inline comments.
================ Comment at: lib/StaticAnalyzer/Checkers/MallocChecker.cpp:2899 + // to find out if a likely-false-positive suppression should kick in. + for (const LocationContext *LC = CurrentLC; LC; LC = LC->getParent()) { + if (isa<CXXDestructorDecl>(LC->getDecl())) { ---------------- george.karpenkov wrote: > NoQ wrote: > > george.karpenkov wrote: > > > I'm not sure what is going on here. > > > We are just traversing the stack frame, finding the first destructor in > > > the `isReleased` branch? > > Do the updated comments make it more clear? > I'm still confused :( you're going up the chain of frames until you see a > destructor. How do you know that memory was released in a destructor at all, > or that it was released in this particular destructor? `if (isReleased(RS, RSPrev, S))` says that the pointer against which the report is thrown was released in the current node. https://reviews.llvm.org/D43791 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits