[analyzer] Use the CallEnter node to get a value for tracked null arguments.
authorJordan Rose <jordan_rose@apple.com>
Mon, 29 Oct 2012 17:31:53 +0000 (17:31 +0000)
committerJordan Rose <jordan_rose@apple.com>
Mon, 29 Oct 2012 17:31:53 +0000 (17:31 +0000)
commit199fdd825f6eb930cea281d5b83615e617e54c2a
tree54a132a8ea8f3d5adb477445e8fc93e896daa550
parent5bdd9dda48fd6f994148a25d6211c581b9ced787
[analyzer] Use the CallEnter node to get a value for tracked null arguments.

Additionally, don't collect PostStore nodes -- they are often used in
path diagnostics.

Previously, we tried to track null arguments in the same way as any other
null values, but in many cases the necessary nodes had already been
collected (a memory optimization in ExplodedGraph). Now, we fall back to
using the value of the argument at the time of the call, which may not
always match the actual contents of the region, but often will.

This is a precursor to improving our suppression heuristic.
<rdar://problem/12350829>

llvm-svn: 166940
clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
clang/test/Analysis/inlining/eager-reclamation-path-notes.c [new file with mode: 0644]