summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/DeadStores.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename file.Ted Kremenek2008-07-221-152/+0
| | | | llvm-svn: 53906
* Distinguish between dead stores and dead initializations.Ted Kremenek2008-07-151-9/+19
| | | | llvm-svn: 53628
* Refactor Dead Stores error reporting to use the simplified ↵Ted Kremenek2008-07-141-35/+14
| | | | | | BugReporter::EmitBasicReport interface. llvm-svn: 53573
* Have BugReporter::getCFG and BugReporter::getLiveVariables returns pointers ↵Ted Kremenek2008-07-031-1/+1
| | | | | | | | instead of references, because they can both fail on functions we cannot construct full CFGs for yet. llvm-svn: 53081
* Added static analysis check to see if a subclass of NSObject implements ↵Ted Kremenek2008-07-031-17/+0
| | | | | | -dealloc, and whether or not that implementation calls [super dealloc]. llvm-svn: 53075
* Unify the code path for the Dead Stores checker to always use the ↵Ted Kremenek2008-07-021-101/+23
| | | | | | BugReporter interface. llvm-svn: 53054
* Refactored some of the BugReporter interface so that data such as the ↵Ted Kremenek2008-07-021-2/+2
| | | | | | | | ASTContext&, PathDiagnosticClient*, can be provided by an external source. Split BugReporter into BugReporter and GRBugReporter so checkers not based on GRExprEngine can still use the BugReporter mechanism. llvm-svn: 53048
* Added version of CheckDeadStores that accepts a client-provided ↵Ted Kremenek2008-07-021-0/+6
| | | | | | | | LiveVariables object. Modified the DeadStores logic in AnalysisConsumer.cpp to use the LiveVariables object created by the AnalysisManager. llvm-svn: 53043
* When using the dead-stores checker with the BugReporter class, properly ↵Ted Kremenek2008-06-201-3/+8
| | | | | | capture the diagnostic associated with a specific warning and emit it. llvm-svn: 52565
* Modified the dead stores checker to...Ted Kremenek2008-06-201-20/+53
| | | | | | | | | | | | | | | | | 1) Check if a dead store appears as a subexpression. For such cases, we emit a verbose diagnostic so that users aren't confused. This addresses: <rdar://problem/5968508> checker gives misleading report for dead store in loop 2) Don't emit a dead store warning when assigning a null value to a pointer. This is a common form of defensive programming. We may wish to make this an option to the the checker one day. This addresses the feature request in the following email: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-June/001978.html llvm-svn: 52555
* Don't use ostringstream (pulling in <sstream>) when creating the dead store ↵Ted Kremenek2008-05-221-5/+6
| | | | | | diagnostic (simply not needed). llvm-svn: 51432
* Improve dead stores diagnostics to include the variable name.Ted Kremenek2008-05-211-3/+10
| | | | llvm-svn: 51395
* Emit dead store warnings for ++ and -- operators.Ted Kremenek2008-05-051-8/+24
| | | | llvm-svn: 50679
* Generalize caching mechanism for bugs reports. Now individual BugTypesTed Kremenek2008-04-181-3/+3
| | | | | | | | can decide the policy on how to cache related bugs. This allows us to properly to handle warning about multiple leaks in the same location in the ref count checker (not yet done). llvm-svn: 49918
* Improve dead store diagnostic.Ted Kremenek2008-04-151-1/+1
| | | | llvm-svn: 49711
* Bug fix in dead stores: don't always check the liveness of the first declTed Kremenek2008-04-151-1/+1
| | | | | | in a DeclStmt. llvm-svn: 49708
* Don't flag dead stores that occur in macros.Ted Kremenek2008-04-141-0/+4
| | | | llvm-svn: 49672
* Bug fix in dead-store checker when walking the Decls in a DeclStmt: don'tTed Kremenek2008-04-141-2/+5
| | | | | | assume that DeclStmts only have VarDecls; they can have TypedefDecls. llvm-svn: 49662
* Hooked up the dead-store checker to the BugReporter interface. Now dead-storeTed Kremenek2008-04-141-8/+104
| | | | | | warnings are emitted as part of the warnings registered by GRSimpleVals. llvm-svn: 49658
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+87
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud