[analyzer] Add pointer escape type param to checkPointerEscape callback
authorAnna Zaks <ganna@apple.com>
Thu, 7 Feb 2013 23:05:43 +0000 (23:05 +0000)
committerAnna Zaks <ganna@apple.com>
Thu, 7 Feb 2013 23:05:43 +0000 (23:05 +0000)
commitacdc13cb00591e2ab2b168c7924d7eb57fa4808e
tree2bb86597344e1dc645c2501fc028214b3f8bdd17
parent7c1f408636d2d2cb2bc5890735d6cac1658dd28e
[analyzer] Add pointer escape type param to checkPointerEscape callback

The checkPointerEscape callback previously did not specify how a
pointer escaped. This change includes an enum which describes the
different ways a pointer may escape. This enum is passed to the
checkPointerEscape callback when a pointer escapes. If the escape
is due to a function call, the call is passed. This changes
previous behavior where the call is passed as NULL if the escape
was due to indirectly invalidating the region the pointer referenced.

A patch by Branden Archer!

llvm-svn: 174677
clang/include/clang/StaticAnalyzer/Core/Checker.h
clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
clang/test/Analysis/Inputs/system-header-simulator.h
clang/test/Analysis/malloc.c
clang/test/Analysis/simple-stream-checks.c