summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/BugReporter.cpp
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-08-18 08:46:04 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-08-18 08:46:04 +0000
commit4c76dbc758e675995e2a92d5b5de23986a1d72df (patch)
tree03133559aa296efe8e3d2d339256ff3c3e916d2a /clang/lib/Analysis/BugReporter.cpp
parentd04405f036903adcc9e667c4f4e79309fb6f6ef7 (diff)
downloadbcm5719-llvm-4c76dbc758e675995e2a92d5b5de23986a1d72df.tar.gz
bcm5719-llvm-4c76dbc758e675995e2a92d5b5de23986a1d72df.zip
Now we can get the CFG from the ProgramPoint. No need to pass in the
BugReporter. llvm-svn: 79327
Diffstat (limited to 'clang/lib/Analysis/BugReporter.cpp')
-rw-r--r--clang/lib/Analysis/BugReporter.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Analysis/BugReporter.cpp b/clang/lib/Analysis/BugReporter.cpp
index 354bafd9896..745e90c38e2 100644
--- a/clang/lib/Analysis/BugReporter.cpp
+++ b/clang/lib/Analysis/BugReporter.cpp
@@ -1206,12 +1206,14 @@ void BugType::FlushReports(BugReporter &BR) {}
BugReport::~BugReport() {}
RangedBugReport::~RangedBugReport() {}
-const Stmt* BugReport::getStmt(BugReporter& BR) const {
+const Stmt* BugReport::getStmt() const {
ProgramPoint ProgP = EndNode->getLocation();
const Stmt *S = NULL;
if (BlockEntrance* BE = dyn_cast<BlockEntrance>(&ProgP)) {
- if (BE->getBlock() == &BR.getCFG()->getExit()) S = GetPreviousStmt(EndNode);
+ CFGBlock &Exit = ProgP.getContext()->getCFG()->getExit();
+ if (BE->getBlock() == &Exit)
+ S = GetPreviousStmt(EndNode);
}
if (!S)
S = GetStmt(ProgP);
@@ -1223,7 +1225,7 @@ PathDiagnosticPiece*
BugReport::getEndPath(BugReporterContext& BRC,
const ExplodedNode* EndPathNode) {
- const Stmt* S = getStmt(BRC.getBugReporter());
+ const Stmt* S = getStmt();
if (!S)
return NULL;
@@ -1246,7 +1248,7 @@ BugReport::getEndPath(BugReporterContext& BRC,
void BugReport::getRanges(BugReporter& BR, const SourceRange*& beg,
const SourceRange*& end) {
- if (const Expr* E = dyn_cast_or_null<Expr>(getStmt(BR))) {
+ if (const Expr* E = dyn_cast_or_null<Expr>(getStmt())) {
R = E->getSourceRange();
assert(R.isValid());
beg = &R;
OpenPOWER on IntegriCloud