diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-03-02 21:41:18 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-03-02 21:41:18 +0000 |
commit | 025fedcbb98870e7739c942cee68c6f1c512bc46 (patch) | |
tree | 5989bbce6575b3676a9da0dd4e996555bab41433 /lib/Analysis/BugReporter.cpp | |
parent | b01fe2c5ba1cc0268e124e0dee5f195e6b428b73 (diff) |
BugReporter: Construct path-related PathDiagnosticPieces with kind "ControlFlow".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65876 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BugReporter.cpp')
-rw-r--r-- | lib/Analysis/BugReporter.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/lib/Analysis/BugReporter.cpp b/lib/Analysis/BugReporter.cpp index a8cb6a9107..6f6b3c1566 100644 --- a/lib/Analysis/BugReporter.cpp +++ b/lib/Analysis/BugReporter.cpp @@ -641,7 +641,8 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, os << "Control jumps to line " << SMgr.getInstantiationLineNumber(S->getLocStart()) << ".\n"; - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); break; } @@ -709,7 +710,8 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, ExecutionContinues(os, SMgr, N, getStateManager().getCodeDecl()); } - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); break; } @@ -718,7 +720,8 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, std::string sbuf; llvm::raw_string_ostream os(sbuf); ExecutionContinues(os, SMgr, N, getStateManager().getCodeDecl()); - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); break; } @@ -732,7 +735,8 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, else os << "true."; - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); break; } @@ -745,11 +749,13 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, os << "Loop condition is true. "; ExecutionContinues(os, SMgr, N, getStateManager().getCodeDecl()); - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); } else PD.push_front(new PathDiagnosticPiece(L, - "Loop condition is false. Exiting loop.")); + "Loop condition is false. Exiting loop.", + PathDiagnosticPiece::ControlFlow)); break; } @@ -764,20 +770,24 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, os << "Loop condition is false. "; ExecutionContinues(os, SMgr, N, getStateManager().getCodeDecl()); - PD.push_front(new PathDiagnosticPiece(L, os.str())); + PD.push_front(new PathDiagnosticPiece(L, os.str(), + PathDiagnosticPiece::ControlFlow)); } else PD.push_front(new PathDiagnosticPiece(L, - "Loop condition is true. Entering loop body.")); + "Loop condition is true. Entering loop body.", + PathDiagnosticPiece::ControlFlow)); break; } case Stmt::IfStmtClass: { if (*(Src->succ_begin()+1) == Dst) - PD.push_front(new PathDiagnosticPiece(L, "Taking false branch.")); - else - PD.push_front(new PathDiagnosticPiece(L, "Taking true branch.")); + PD.push_front(new PathDiagnosticPiece(L, "Taking false branch.", + PathDiagnosticPiece::ControlFlow)); + else + PD.push_front(new PathDiagnosticPiece(L, "Taking true branch.", + PathDiagnosticPiece::ControlFlow)); break; } |