summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/BugReporterVisitors.cpp
Commit message (Collapse)AuthorAgeFilesLines
* lib/Analysis: Remove VISIBILITY_HIDDEN from definitions in anonymous namespaceKovarththanan Rajaratnam2009-11-281-2/+2
| | | | llvm-svn: 90028
* Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a wayTed Kremenek2009-09-111-5/+6
| | | | | | | | | | | | to statically type various methods in SValuator/GRState as required either a defined value or a defined-but-possibly-unknown value. This leads to various logic cleanups in GRExprEngine, and lets the compiler enforce via type checking our assumptions about what symbolic values are possibly undefined and what are not. Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values. llvm-svn: 81579
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-59/+59
| | | | llvm-svn: 81346
* Refactor the check for bad divide into a checker.Zhongxing Xu2009-09-021-1/+1
| | | | | | | | | Also fix a checker context bug: the Dst set is not always empty initially. Because in GRExprEngine::CheckerVisit(), *CurrSet is used repeatedly. So we removed the Dst.empty() condition in ~CheckerContext() when deciding whether to do autotransision. llvm-svn: 80786
* Refactor bad callee check into a Checker.Zhongxing Xu2009-09-021-1/+2
| | | | | | Now bad callee is checked as a PreVisit to the CallExpr. llvm-svn: 80771
* Add LocationContext* field to VarRegion. This is needed for interprocedural ↵Ted Kremenek2009-08-211-1/+1
| | | | | | analysis. llvm-svn: 79680
* Enhance static analyzer diagnostics by introducing a new 'EnhancedBugReporter'Ted Kremenek2009-08-181-1/+7
| | | | | | | | | which allows custom checks to register callback creator functions for creating BugReporterVisitor objects. This allows various checks to include diagnostics such as 'assuming value is null' with little extra work. Eventually this API should be refactored to be cleaner and more simple. llvm-svn: 79302
* As GRState seems general enough, it is time to merge some template classes Zhongxing Xu2009-08-061-12/+12
| | | | | | | and their impl base classes. This can greatly simply some code of the core analysis engine. This patch merges ExplodedNodeImpl into ExplodedNode. llvm-svn: 78270
* Refactor 'PostStmt' and 'PreStmt' to subclass a common parent 'StmtPoint'.Ted Kremenek2009-07-221-2/+2
| | | | | | | | | | | | Educate GRExprEngine::VisitGraph() about 'PreStmt'. Mark the constructor of 'PostStmt' to be explicit, preventing implicit conversions and the selection of the wrong 'generateNode' method in GRStmtNodeBuilder. Constify a bunch of arguments, which falls out of the changes to ProgramPoint. llvm-svn: 76809
* Move bug reporter "visitors" to their own file and make them part of the publicTed Kremenek2009-07-221-0/+341
BugReporter API. No real functionality change. llvm-svn: 76760
OpenPOWER on IntegriCloud