- Jul 11, 2008
-
-
Ted Kremenek authored
current store implementation is now encapsulated by BasicStore. These changes prompted some long due constification of ValueState. Much of the diffs in this patch include adding "const" qualifiers. llvm-svn: 53423
-
- Jul 03, 2008
-
-
Ted Kremenek authored
Have BugReporter::getCFG and BugReporter::getLiveVariables returns pointers instead of references, because they can both fail on functions we cannot construct full CFGs for yet. llvm-svn: 53081
-
- Jul 02, 2008
-
-
Ted Kremenek authored
Refactored some of the BugReporter interface so that data such as the 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
-
- Jun 20, 2008
-
-
Ted Kremenek authored
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
-
- Jun 18, 2008
-
-
Ted Kremenek authored
Added a new ProgramPoint: PostPurgeDeadSymbols. This new program point distinguishes between the cases when we just evaluated the transfer function of a Stmt* (PostStmt) or performed a load (PostLoad). This solves a caching bug observed in a recent bug report. llvm-svn: 52443
-
- Jun 17, 2008
-
-
Ted Kremenek authored
llvm-svn: 52426
-
- May 23, 2008
-
-
Ted Kremenek authored
llvm-svn: 51453
-
- May 16, 2008
-
-
Ted Kremenek authored
Partitioned BugTypeCachedLocation::isCached() into two methods: one that accepts and ExplodedNode, and the other that accepts a ProgramPoint. The default behavior is to cache bug reports by the location they occur (the end node). Subclasses can override this behavior by providing a different ProgramPoint. llvm-svn: 51197
-
- May 06, 2008
-
-
Ted Kremenek authored
"Execution continues..." message, which does a better job at handling corner cases. llvm-svn: 50751
-
- May 03, 2008
-
-
Ted Kremenek authored
llvm-svn: 50597
-
- May 02, 2008
-
-
Ted Kremenek authored
llvm-svn: 50553
-
Ted Kremenek authored
llvm-svn: 50549
-
- May 01, 2008
-
-
Ted Kremenek authored
a CF memory leak occurred with GC enabled, etc. llvm-svn: 50507
-
- Apr 25, 2008
-
-
Ted Kremenek authored
empty CFGBlocks that only contained a terminator. Added improved diagnostics for break and continue statements and default branches in switch statements. This fixes <rdar://problem/5889244>. llvm-svn: 50286
-
Ted Kremenek authored
Don't emit empty strings for path diagnostics when taking the default branch of a switch statement that has no label. llvm-svn: 50242
-
Ted Kremenek authored
Implemented support for better localized leaks in the CF reference count checker. Now leaks should be flagged close to where they occur. This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved. llvm-svn: 50241
-
- Apr 24, 2008
-
-
Ted Kremenek authored
that say that we are jumping to "case a" instead of "case 0". This is a feature implementation for <rdar://problem/5880430>. llvm-svn: 50197
-
Ted Kremenek authored
llvm-svn: 50195
-
Ted Kremenek authored
When building PathDiagnostics for bug reports, generate a trimmed ExplodedGraph with a single path that BugReport objects can safely walk and introspect. llvm-svn: 50194
-
- Apr 23, 2008
-
-
Ted Kremenek authored
the line we are going to. llvm-svn: 50113
-
- Apr 22, 2008
-
-
Ted Kremenek authored
them to not be stack-allocated. HTMLDiagnostics now batches PathDiagnostics before emitting HTML in its dtor. This is a workaround for a problem when we trampled the Preprocessor state when highlighting macros (sometimes resulting in an assertion failure). llvm-svn: 50102
-
- Apr 19, 2008
-
-
Ted Kremenek authored
before. This allows the HTMLDiagnostic object to retrieve the bug type, bug description, etc. llvm-svn: 49939
-
Ted Kremenek authored
llvm-svn: 49934
-
- Apr 18, 2008
-
-
Ted Kremenek authored
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
-
Ted Kremenek authored
Shuffled around code in CFRefCount to better pair classes with implementation, and started adding subclasses of RangedBugReport to handle better diagnostics for reference count bugs. llvm-svn: 49889
-
Ted Kremenek authored
llvm-svn: 49887
-
Ted Kremenek authored
EmitPathWarning into one method. We now properly handle emitting warnings without a PathDiagnosticClient when the warning does not involve a particular statement. llvm-svn: 49884
-
Ted Kremenek authored
the exit block of the CFG. llvm-svn: 49880
-
- Apr 14, 2008
-
-
Ted Kremenek authored
llvm-svn: 49668
-
Ted Kremenek authored
warnings are emitted as part of the warnings registered by GRSimpleVals. llvm-svn: 49658
-
- Apr 11, 2008
-
-
Ted Kremenek authored
llvm-svn: 49551
-
- Apr 10, 2008
-
-
Ted Kremenek authored
BugReport-specific SourceRanges (when available). llvm-svn: 49486
-
- Apr 09, 2008
-
-
Ted Kremenek authored
Bugs are now reported using a combination of "BugType" (previously BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which generates PathDiagnostics). This provides a far more modular way of registering bug types and plugging in diagnostics. GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the ExplodedGraph. ExplodedGraph is no longer templated on the "checker", but instead on the state contained in the nodes. llvm-svn: 49453
-
Ted Kremenek authored
checker-specific diagnostics. llvm-svn: 49412
-
- Apr 08, 2008
-
-
Ted Kremenek authored
llvm-svn: 49356
-
- Apr 03, 2008
-
-
Ted Kremenek authored
the ranges of highlighted elements in the source code. llvm-svn: 49181
-
Ted Kremenek authored
the new BugReporter interface. llvm-svn: 49180
-
Ted Kremenek authored
llvm-svn: 49155
-
Ted Kremenek authored
llvm-svn: 49139
-
Ted Kremenek authored
BFS path to the root. This also avoids problems with loops in the ExplodedGraph. llvm-svn: 49133
-