Modify the RetainCountChecker to perform state "adjustments" in checkEndFunction, as performing work in PreStmt<ReturnStmt> does not work with destructors. The previous version made an implicit assumption that no code runs after the return statement is executed. rdar://43945028
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
I suspect that other checkers may suffer from the same problem.
clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp | ||
---|---|---|
817 | Whitespace. | |
946 | Let's use generateNonFatalErrorNode() here, in order to indicate that we're going to throw a report against it. | |
973 | Same here. | |
clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h | ||
430 | Whitespace. |
Whitespace.