]> granicus.if.org Git - clang/commit
Fix PR 7475 by enhancing the static analyzer to also invalidate bindings for non...
authorTed Kremenek <kremenek@apple.com>
Thu, 1 Jul 2010 20:16:50 +0000 (20:16 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 1 Jul 2010 20:16:50 +0000 (20:16 +0000)
commitdcee3ce97fc76f20ce8f5a7451071e3dec537073
tree16e01fa048f6f6490552b2b1eea8f71bcf9b2aae
parent7dadf79bd809cc01fe275f9a7243593bc2af5c10
Fix PR 7475 by enhancing the static analyzer to also invalidate bindings for non-static global variables
when calling a function/method whose impact on global variables we cannot accurately estimate.
This change introduces two new MemSpaceRegions that divide up the memory space of globals, and causes
RegionStore and BasicStore to consult a binding to the NonStaticGlobalsMemSpaceRegion when lazily
determining the value of a global.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107423 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Checker/PathSensitive/MemRegion.h
include/clang/Checker/PathSensitive/Store.h
lib/Checker/BasicStore.cpp
lib/Checker/CFRefCount.cpp
lib/Checker/FlatStore.cpp
lib/Checker/MallocChecker.cpp
lib/Checker/MemRegion.cpp
lib/Checker/RegionStore.cpp
lib/Checker/Store.cpp
test/Analysis/misc-ps.m