]> granicus.if.org Git - clang/commit
[analyzer] Propagate taint through NonLoc to NonLoc casts.
authorAnna Zaks <ganna@apple.com>
Tue, 6 Dec 2011 23:12:27 +0000 (23:12 +0000)
committerAnna Zaks <ganna@apple.com>
Tue, 6 Dec 2011 23:12:27 +0000 (23:12 +0000)
commitaace9ef279be3dadd53b481aee568bd7701178b4
tree9da5657b9b4926b62e1e8fe095d0b844ae4ab923
parente5ee70d08e62cb6c96a736163204c12c6ef8147a
[analyzer] Propagate taint through NonLoc to NonLoc casts.

 - Created a new SymExpr type - SymbolCast.
 - SymbolCast is created when we don't know how to simplify a NonLoc to
NonLoc casts.
 - A bit of code refactoring: introduced dispatchCast to have better
code reuse, remove a goto.
 - Updated the test case to showcase the new taint flow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145985 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
lib/StaticAnalyzer/Core/ProgramState.cpp
lib/StaticAnalyzer/Core/RegionStore.cpp
lib/StaticAnalyzer/Core/SValBuilder.cpp
lib/StaticAnalyzer/Core/SVals.cpp
lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
lib/StaticAnalyzer/Core/Store.cpp
lib/StaticAnalyzer/Core/SymbolManager.cpp
test/Analysis/taint-tester.c