| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix another bug in BugReporter where we wouldn't always select the bug ↵ | Ted Kremenek | 2009-05-16 | 1 | -14/+20 |
| | | | | | | | report in a bug equivalence class with the shortest path. llvm-svn: 71920 | ||||
| * | BugReporter (extensive diagnostics): Do not include the range of target '}' | Ted Kremenek | 2009-05-15 | 1 | -4/+6 |
| | | | | | llvm-svn: 71832 | ||||
| * | BugReporter (extensive diagnostics): Add control-flow piece to '}' in | Ted Kremenek | 2009-05-15 | 1 | -16/+36 |
| | | | | | | | | loop body when generating 'Looping back to the head of the loop' diagnostics. llvm-svn: 71829 | ||||
| * | BugReport::getEndPath() - Only add a Stmt's range to the constructed ↵ | Ted Kremenek | 2009-05-11 | 1 | -5/+8 |
| | | | | | | | PathDiagnosticEventPiece if the BugReport contained no explicit ranges. llvm-svn: 71516 | ||||
| * | EdgeBuilder: DeclStmts and BinaryOperators are not the enclosing location ↵ | Ted Kremenek | 2009-05-11 | 1 | -1/+26 |
| | | | | | | | context when they are used as initialization code for loops. llvm-svn: 71480 | ||||
| * | EdgeBuilder::cleanUpLocation() should used the PathDiagnosticLocation ↵ | Ted Kremenek | 2009-05-11 | 1 | -16/+31 |
| | | | | | | | constructor for a single point, not a range. llvm-svn: 71477 | ||||
| * | BugReporter (extensive diagnostics): Add EdgeBuilder::cleanUpLocation for ↵ | Ted Kremenek | 2009-05-11 | 1 | -28/+34 |
| | | | | | | | canonicalization locations and use this in both popLocation and rawAddEdge. llvm-svn: 71470 | ||||
| * | analyzer: | Ted Kremenek | 2009-05-10 | 1 | -1/+1 |
| | | | | | | | | | - Improve -autorelease diagnostics. - Improve VLA diagnostics. - Use "short description" for bug when outputting to TextDiagnostics llvm-svn: 71383 | ||||
| * | Add preliminary support for enhancing null-pointer dereference diagnostics. | Ted Kremenek | 2009-05-07 | 1 | -46/+54 |
| | | | | | llvm-svn: 71135 | ||||
| * | Refactor BugReporter interface to have a new 'BugReporterContext' and | Ted Kremenek | 2009-05-06 | 1 | -64/+55 |
| | | | | | | | | | | | | 'BugReporterVisitor'. This simplifies callbacks from BugReporter to BugReports (via VisitNode). It also lays the foundation for arbitrary visitor "call backs" that can be registered to a BugReporterContext as a PathDiagnostic is constructed. These call backs can help operate as separate "experts" that can work on constructed pieces of a PathDiagnostic for which they possess special knowledge. llvm-svn: 71121 | ||||
| * | BugReporter (extensive diagnostics): improve location context generation for the | Ted Kremenek | 2009-05-05 | 1 | -3/+29 |
| | | | | | | | start of 'do' and '@synchronized' statements. llvm-svn: 71038 | ||||
| * | BugReporter (extensive diagnostics): Fix getEnclosingStmtLocation to reason | Ted Kremenek | 2009-05-05 | 1 | -7/+8 |
| | | | | | | | | about Exprs that are not consumed and fix where the loop iteration diagnostic goes. llvm-svn: 71027 | ||||
| * | BugReporter (extensive diagnostics): don't mark location contexts that are | Ted Kremenek | 2009-05-04 | 1 | -2/+3 |
| | | | | | | | control-flow expressions as dead. llvm-svn: 70887 | ||||
| * | BugReporter (extensive diagnostics): introduce the notion of a "dead" | Ted Kremenek | 2009-05-01 | 1 | -10/+41 |
| | | | | | | | | | location context. This allows us to postpone the decision of whether or not a context should add a control-flow piece to the diagnostics when inspecting its subexpressions. llvm-svn: 70545 | ||||
| * | Remove #if 0'ed code. | Ted Kremenek | 2009-05-01 | 1 | -173/+0 |
| | | | | | llvm-svn: 70542 | ||||
| * | Fix null dereference. | Ted Kremenek | 2009-04-29 | 1 | -1/+1 |
| | | | | | llvm-svn: 70417 | ||||
| * | BugReporter/PathDiagnostics: | Ted Kremenek | 2009-04-29 | 1 | -4/+7 |
| | | | | | | | | | | - Add an (optional) short description for BugReports for clients that want to distinguish between long and short descriptions for bugs - Make the bug report for VLA less obscene for Plist diagnostics by using the short description llvm-svn: 70415 | ||||
| * | Extensive diagnostics: Do not add a location context for do...while statements. | Ted Kremenek | 2009-04-28 | 1 | -1/+1 |
| | | | | | llvm-svn: 70286 | ||||
| * | BugReporter (extensive diagnostics): Clean up do...while control-flow edges, and | Ted Kremenek | 2009-04-28 | 1 | -7/+33 |
| | | | | | | | add "Looping back to the head of the loop" diagnostic for loops. llvm-svn: 70285 | ||||
| * | Implement function-try-blocks. However, there's a very subtle bug that I ↵ | Sebastian Redl | 2009-04-26 | 1 | -2/+4 |
| | | | | | | | can't track down. llvm-svn: 70155 | ||||
| * | Minor code cleanup. | Eli Friedman | 2009-04-26 | 1 | -16/+4 |
| | | | | | llvm-svn: 70144 | ||||
| * | split ObjC and C++ Statements out into their own headers. | Chris Lattner | 2009-04-26 | 1 | -2/+2 |
| | | | | | llvm-svn: 70105 | ||||
| * | BugReporter (extensive diagnostics): Recursively adjust the referred expression | Ted Kremenek | 2009-04-23 | 1 | -12/+16 |
| | | | | | | | when popping location contexts. llvm-svn: 69898 | ||||
| * | BugReporter (extensive diagnostics): Ignore parentheses when added control-flow | Ted Kremenek | 2009-04-23 | 1 | -0/+16 |
| | | | | | | | pieces for location contexts. llvm-svn: 69895 | ||||
| * | BugReporter (extensive diagnostics): Use correct location for location contexts. | Ted Kremenek | 2009-04-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 69824 | ||||
| * | BugReporter (extensive diagnostics): always add an edge if there is no location | Ted Kremenek | 2009-04-22 | 1 | -1/+8 |
| | | | | | | | context. llvm-svn: 69823 | ||||
| * | BugReporter (extensive diagnostics): | Ted Kremenek | 2009-04-22 | 1 | -3/+2 |
| | | | | | | | | | - Remove stale assertion that was breaking the test suite. - When popping location contexts, only add a control-flow piece for fileID locations. llvm-svn: 69814 | ||||
| * | BugReporter (extensive diagnostic algorithm): The initial control-flow edge now | Ted Kremenek | 2009-04-22 | 1 | -2/+16 |
| | | | | | | | starts from the first character of the first statement. llvm-svn: 69813 | ||||
| * | FunctionDecl::getBody() is getting an ASTContext argument for use in | Douglas Gregor | 2009-04-18 | 1 | -3/+3 |
| | | | | | | | | | lazy PCH deserialization. Propagate that argument wherever it needs to be. No functionality change, except that I've tightened up a few PCH tests in preparation. llvm-svn: 69406 | ||||
| * | Removed some commented code. | Ted Kremenek | 2009-04-07 | 1 | -16/+3 |
| | | | | | llvm-svn: 68495 | ||||
| * | PathDiagnostic generation: experiment with avoiding generation of control-flow | Ted Kremenek | 2009-04-07 | 1 | -4/+4 |
| | | | | | | | pieces between block entrance and block end unless necessary. llvm-svn: 68483 | ||||
| * | Don't overguard to adding a control-flow piece when "alwaysAdd" is true. | Ted Kremenek | 2009-04-07 | 1 | -2/+2 |
| | | | | | llvm-svn: 68476 | ||||
| * | Rewrite control-flow diagnostic generation "extensive" algorithm using "edge | Ted Kremenek | 2009-04-06 | 1 | -22/+277 |
| | | | | | | | contexts". This allows us to use a stack of contexts to keep track of what control-flow pieces to include when exiting blocks like 'if', 'for', etc. llvm-svn: 68473 | ||||
| * | Add another null pointer check. Simplify condition. | Ted Kremenek | 2009-04-02 | 1 | -7/+8 |
| | | | | | llvm-svn: 68283 | ||||
| * | Add null pointer check. | Ted Kremenek | 2009-04-02 | 1 | -1/+2 |
| | | | | | llvm-svn: 68281 | ||||
| * | BugReporter, extensive path-diagnostics: add an extra control-flow edge to the | Ted Kremenek | 2009-04-01 | 1 | -0/+32 |
| | | | | | | | enclosing statement when jumping to a subexpression. llvm-svn: 68244 | ||||
| * | Fix comment. | Ted Kremenek | 2009-04-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 68236 | ||||
| * | BugReporter: for extensive path diagnostics: | Ted Kremenek | 2009-04-01 | 1 | -11/+9 |
| | | | | | | | | | - When processing BlockEdges with terminators, using the condition as the control-flow point for terminators that are expressions (e.g., '&&', '?') - When processing events, allow intra-compound statement "jumping" llvm-svn: 68228 | ||||
| * | BugReporter: for extensive PathDiagnostic generation, add control-flow from the | Ted Kremenek | 2009-04-01 | 1 | -1/+17 |
| | | | | | | | start of the function/method. llvm-svn: 68217 | ||||
| * | BugReporter: For the "extensive" PathDiagnostic generation algorithm, elide most | Ted Kremenek | 2009-04-01 | 1 | -13/+21 |
| | | | | | | | | intra-compound statement jumps unless they are between terminators (i.e., branches). llvm-svn: 68216 | ||||
| * | - Changed PathDiagnosticPiece::getLocation() to return a PathDiagnosticLocation | Ted Kremenek | 2009-04-01 | 1 | -5/+168 |
| | | | | | | | | | | instead of a FullSourceLoc. This resulted in a bunch of small edits in various clients. - Updated BugReporter to include an alternate PathDiagnostic generation algorithm for PathDiagnosticClients desiring more control-flow pieces. llvm-svn: 68193 | ||||
| * | More code reshuffling. No functionality change. | Ted Kremenek | 2009-03-31 | 1 | -465/+465 |
| | | | | | llvm-svn: 68157 | ||||
| * | Allow two codepaths for PathDiagnostic generation. This patch mainly consists of | Ted Kremenek | 2009-03-31 | 1 | -41/+77 |
| | | | | | | | refactoring to make this possible (no functionality change). llvm-svn: 68141 | ||||
| * | Simplify more code by using SVal::getAsSymbol(). | Ted Kremenek | 2009-03-30 | 1 | -9/+4 |
| | | | | | llvm-svn: 68052 | ||||
| * | Convert use of loc::SymbolVal and nonloc::SymbolVal to V.getAsSymbol(). This | Ted Kremenek | 2009-03-30 | 1 | -11/+4 |
| | | | | | | | | also makes this code more correct as it transparently handles SVals that wrapped TypedViewRegions(SymbolicRegions). llvm-svn: 68048 | ||||
| * | Adjust control-flow endpoints for '&&' and '||'. | Ted Kremenek | 2009-03-28 | 1 | -17/+49 |
| | | | | | llvm-svn: 67948 | ||||
| * | Text PathDiagnosticBuilder::getEnclosingStmt() about '?' | Ted Kremenek | 2009-03-28 | 1 | -2/+19 |
| | | | | | llvm-svn: 67909 | ||||
| * | Teach PathDiagnosticBuilder::getEnclosingStmtLocation() about while/if/do/for, | Ted Kremenek | 2009-03-28 | 1 | -2/+30 |
| | | | | | | | | etc., so that the "body" is always considered a top-level statement for edge transitions (even if it is an expression). llvm-svn: 67901 | ||||
| * | BugReporter: For control-flow edges from 'if', 'for', 'do', 'while' to | Ted Kremenek | 2009-03-27 | 1 | -4/+40 |
| | | | | | | | | successor, using 'getEnclosingStmt()' to have the end location be the top-level Stmt* enclosing the target Expr*. llvm-svn: 67869 | ||||
| * | BugReporter: PathDiagnosticBuilder::ExecutionContinues now returns a | Ted Kremenek | 2009-03-27 | 1 | -39/+43 |
| | | | | | | | PathDiagnosticLocation. llvm-svn: 67866 | ||||

