summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/UnreachableCodeChecker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Refactoring: lib/Checker -> lib/GR and libclangChecker -> ↵Argyrios Kyrtzidis2010-12-221-222/+0
| | | | | | libclangGRCore llvm-svn: 122421
* [analyzer] Refactoring: include/clang/Checker -> include/clang/GRArgyrios Kyrtzidis2010-12-221-5/+5
| | | | llvm-svn: 122420
* UnreachableCodeChecker cleanup and improvementsTom Care2010-10-061-17/+9
| | | | | | | | | | - Fixed some iterator style issues - Don't process blocks that have been visited already - Fixed a case where a unreachable block cycle was not reported - Minor test case changes - Added one test case from flow-sensitive version of the check. More coming. llvm-svn: 115861
* UnreachableCodeChecker does not need to inherit from CheckerVisitor, only ↵Tom Care2010-10-011-1/+1
| | | | | | Checker. It does not use any AST Stmt hooks, only VisitEndAnalysis. llvm-svn: 115345
* Introduce new CFGElement hierarchy to support C++ CFG, based on Marcin's patchZhongxing Xu2010-09-161-7/+11
| | | | | | and discussions with Ted and Jordy. llvm-svn: 114056
* Remove an assertion in UnreachableCodeChecker that can be triggered by bugs ↵Tom Care2010-08-271-2/+5
| | | | | | in other checkers. llvm-svn: 112310
* Small changes to UnreachableCodeCheckerTom Care2010-08-121-3/+20
| | | | | | | - Added detection of Empty CFGBlocks (artificial blocks) - Relaxed an assertion based on an incorrect assumption until further investigation llvm-svn: 110974
* Fixed logic error in UnreachableCodeChecker's marking algorithm that would ↵Tom Care2010-08-051-3/+6
| | | | | | sometimes allow for multiple sequential statements to be flagged. llvm-svn: 110353
* Improved false positive detection and numerous small issues in ↵Tom Care2010-08-031-77/+60
| | | | | | | | | | | | | UnreachableCodeChecker - Reporting now uses getUnreachableStmt which returns the Stmt* we should report - Indexing of reachable and visited blocks now use CFGBlock ID's instead of pointers - The CFG used in the unreachable search is now the unoptimized CFG - Added 'Dead code' category to warnings - Removed obsolete function getCondition - Simplified false positive detection based on properties of FindUnreachableEntryPoints llvm-svn: 110148
* Changed GRExprEngine to pass down a reference to itself when checkers are ↵Tom Care2010-08-031-4/+5
| | | | | | | | | doing postanalysis. This allows the checker to gather information about the state of the engine when it has finished. - Exposed the worklist and BlockAborted flag in GRCoreEngine - Changed postanalysis checkers to use the new infrastructure llvm-svn: 110095
* Added some false positive checking to UnreachableCodeCheckerTom Care2010-07-271-31/+92
| | | | | | | | | - Allowed reporting of dead macros - Added path walking function to search for false positives in conditional statements - Updated some affected tests - Added some false positive test cases llvm-svn: 109561
* Don't warn about unreachable code if the block starts with ↵Jordy Rose2010-07-271-1/+16
| | | | | | | | __builtin_unreachable(). The next step is to warn if a block labeled unreachable is, in fact, reachable. Somewhat related to PR810. llvm-svn: 109487
* Added an path-sensitive unreachable code checker to the experimental ↵Tom Care2010-07-231-0/+143
analyzer checks. - Created a new class to do post-analysis - Updated several test cases with unreachable code to expect a warning - Added some general tests llvm-svn: 109286
OpenPOWER on IntegriCloud