diff options
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp')
-rw-r--r-- | clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp index 3ad2ed640cc1..fe9907a7c99b 100644 --- a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp +++ b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp @@ -33,11 +33,13 @@ buildStmtToBasicBlockMap(const CFG &Cfg) { for (const CFGElement &Element : *Block) { auto Stmt = Element.getAs<CFGStmt>(); - if (!Stmt.hasValue()) + if (!Stmt) continue; StmtToBlock[Stmt.getValue().getStmt()] = Block; } + if (const Stmt *TerminatorStmt = Block->getTerminatorStmt()) + StmtToBlock[TerminatorStmt] = Block; } return StmtToBlock; } |