diff options
Diffstat (limited to 'lib/Analysis/BugReporter.cpp')
-rw-r--r-- | lib/Analysis/BugReporter.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Analysis/BugReporter.cpp b/lib/Analysis/BugReporter.cpp index e56da7b872..834567136f 100644 --- a/lib/Analysis/BugReporter.cpp +++ b/lib/Analysis/BugReporter.cpp @@ -379,8 +379,12 @@ public: VD = dyn_cast<VarDecl>(DR->getDecl()); } - else if (DeclStmt* DS = dyn_cast<DeclStmt>(S)) - VD = dyn_cast<VarDecl>(DS->getDecl()); + else if (DeclStmt* DS = dyn_cast<DeclStmt>(S)) { + // FIXME: Eventually CFGs won't have DeclStmts. Right now we + // assume that each DeclStmt has a single Decl. This invariant + // holds by contruction in the CFG. + VD = dyn_cast<VarDecl>(*DS->decl_begin()); + } if (!VD) return true; |