]> granicus.if.org Git - clang/commit
Major rewrite/refactoring of static analysis engine. We now use
authorTed Kremenek <kremenek@apple.com>
Tue, 29 Apr 2008 21:04:26 +0000 (21:04 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 29 Apr 2008 21:04:26 +0000 (21:04 +0000)
commit1b8bd4d71c2098126041b4de4267175a82f0103c
tree2f4530dca8ccf37e2c6e9dfc019613a831957ebb
parent688e659cb57839b8318d566f08a879ca1c2bd1b4
Major rewrite/refactoring of static analysis engine. We now use
EvalStore/EvalLoad to handle all loads/stores from symbolic memory, allowing us
to do checks for null dereferences, etc., at any arbitrary load/store (these
were missed checks before). This also resulted in some major cleanups, some
conceptual, and others just in the structure of the code.

This temporarily introduces a regression in the test suite (null-deref-ps.c)
before I add a new LVal type for structure fields.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50443 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Analysis/PathSensitive/GRCoreEngine.h
include/clang/Analysis/PathSensitive/GRExprEngine.h
include/clang/Analysis/PathSensitive/ValueState.h
include/clang/Analysis/ProgramPoint.h
lib/Analysis/GRCoreEngine.cpp
lib/Analysis/GRExprEngine.cpp
lib/Analysis/ValueState.cpp