]> granicus.if.org Git - clang/commit
[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)
commit09f7bf14d25bdc55cb715bc8d40600906848a409
treed5ef3deef965f316015c08edff4c22ca9cddd729
parentdbaf4bc5864d80a3f3e51700219c30900cde7300
[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>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166940 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
lib/StaticAnalyzer/Core/ExplodedGraph.cpp
test/Analysis/inlining/eager-reclamation-path-notes.c [new file with mode: 0644]