]> granicus.if.org Git - clang/commit
[analyzer] Don't rely on finding the correct return statement for suppression.
authorJordan Rose <jordan_rose@apple.com>
Fri, 8 Mar 2013 23:30:53 +0000 (23:30 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 8 Mar 2013 23:30:53 +0000 (23:30 +0000)
commit8c84707fd0fbe9f6f7d17fadd5a9fe162dff8445
tree3f224721b2b05bb4336e87679c361703b8484a3a
parent6f09c3d69f6272b101ff795562dffead1c0bd9de
[analyzer] Don't rely on finding the correct return statement for suppression.

Previously, ReturnVisitor waited to suppress a null return path until it
had found the inlined "return" statement. Now, it checks up front whether
the return value was NULL, and suppresses the warning right away if so.

We still have to wait until generating the path notes to invalidate the bug
report, or counter-suppression will never be triggered. (Counter-suppression
happens while generating path notes, but the generation won't happen for
reports already marked invalid.)

This isn't actually an issue today because we never reclaim nodes for
top-level statements (like return statements), but it could be an issue
some day in the future. (But, no expected behavioral change and no new
test case.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176736 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/BugReporterVisitors.cpp