summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/GRState.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the now-unused GRState::isEqual method. Instead of asking if an ↵Jordy Rose2010-07-061-25/+0
| | | | | | expression equals a certain value, use SValuator::EvalEQ and GRState::Assume to see if it can, must, or must not equal that value. llvm-svn: 107638
* Add an ivar to SymbolReaper for the current statement, and then stop passing ↵Jordy Rose2010-07-011-3/+3
| | | | | | the current statement around everywhere. Preparation for symbolic extents. llvm-svn: 107422
* Remove extents of dead symbolic regions when RemoveDeadBindings.Zhongxing Xu2010-05-261-4/+3
| | | | | | This requires creating new persistent states due to the nature of GDM. llvm-svn: 104668
* Checker: random include cleanup.Benjamin Kramer2010-03-271-1/+1
| | | | llvm-svn: 99731
* Add methods to remove a GDM entry.Zhongxing Xu2010-03-251-0/+12
| | | | | | Instead of setting the ReturnExpr GDM to NULL, remove it. llvm-svn: 99470
* Mark CXXThisRegion in the current or parent stack frame context as live so thatZhongxing Xu2010-03-171-1/+2
| | | | | | their bindings are not removed. llvm-svn: 98705
* Remove reference to AnalysisContext in Environment. We already have ↵Zhongxing Xu2010-03-051-14/+6
| | | | | | | | LocationContext information in ExplodedNode. llvm-svn: 97785
* When profiling Environment, also profile with AnalysisContext*, bacauseZhongxing Xu2010-03-041-0/+6
| | | | | | | | | | we now may have identical states with different analysis context. Set the right AnalysisContext in state when entering and leaving a callee. With both of the above changes, we can pass the test case. llvm-svn: 97724
* Revert 95541.Ted Kremenek2010-02-081-4/+4
| | | | llvm-svn: 95545
* Rename: GRState::getSVal(Stmt*) => getExprVal(),Zhongxing Xu2010-02-081-4/+4
| | | | | | GRState::getSVal(MemRegion*) => Load(). llvm-svn: 95541
* More GRState* -> Store changes.Zhongxing Xu2010-02-051-1/+2
| | | | llvm-svn: 95365
* More GRState* -> Store changes.Zhongxing Xu2010-02-051-1/+2
| | | | llvm-svn: 95362
* Split libAnalysis into two libraries: libAnalysis and libChecker.Ted Kremenek2010-01-251-0/+358
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
OpenPOWER on IntegriCloud