summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/ReachableCode.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Start migration of static analyzer to using theTed Kremenek2010-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit lvalue-to-rvalue casts that John McCall recently introduced. This causes a whole bunch of logic in the analyzer for handling lvalues to vanish. It does, however, raise a few issues in the analyzer w.r.t to modeling various constructs (e.g., field accesses to compound literals). The .c/.m analysis test cases that fail are due to a missing lvalue-to-rvalue cast that will get introduced into the AST. The .cpp failures were more than I could investigate in one go, and the patch was already getting huge. I have XFAILED some of these tests, and they should obviously be further investigated. Some highlights of this patch include: - CFG no longer requires an lvalue bit for CFGElements - StackFrameContext doesn't need an 'asLValue' flag - The "VisitLValue" path from GRExprEngine has been eliminated. Besides the test case failures (XFAILed), there are surely other bugs that are fallout from this change. llvm-svn: 121960
* Added CFGTerminator class, that holds information about CFGBlock terminator ↵Marcin Swiderski2010-10-291-1/+2
| | | | | | statement. llvm-svn: 117642
* Introduce new CFGElement hierarchy to support C++ CFG, based on Marcin's patchZhongxing Xu2010-09-161-5/+9
| | | | | | and discussions with Ted and Jordy. llvm-svn: 114056
* Enhance -Wunreachable-code to not consider the 'default:' branch of a switch ↵Ted Kremenek2010-09-091-5/+11
| | | | | | | | statement live if a switch on an enum value has explicit 'case:' statements for each enum value. llvm-svn: 113451
* GCC didn't care for my attempt at API compatibility, so brute-force everythingJohn McCall2010-08-251-1/+1
| | | | | | to the new constants. llvm-svn: 112047
* Move the rest of the unreachable code analysis from libSemaTed Kremenek2010-02-231-9/+235
| | | | | | to libAnalysis (with only the error reporting in libSema). llvm-svn: 96893
* Start moving some of the logic for the unreachable code analysis out of libSemaTed Kremenek2010-02-231-0/+52
and into libAnalysis. llvm-svn: 96872
OpenPOWER on IntegriCloud