aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp')
-rw-r--r--clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
index 58708b5b5efb..2492b5203724 100644
--- a/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
+++ b/clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
@@ -36,7 +36,7 @@ buildStmtToBasicBlockMap(const CFG &Cfg) {
if (!Stmt)
continue;
- StmtToBlock[Stmt.value().getStmt()] = Block;
+ StmtToBlock[Stmt->getStmt()] = Block;
}
if (const Stmt *TerminatorStmt = Block->getTerminatorStmt())
StmtToBlock[TerminatorStmt] = Block;
@@ -45,7 +45,7 @@ buildStmtToBasicBlockMap(const CFG &Cfg) {
}
llvm::Expected<ControlFlowContext>
-ControlFlowContext::build(const Decl *D, Stmt *S, ASTContext *C) {
+ControlFlowContext::build(const Decl *D, Stmt &S, ASTContext &C) {
CFG::BuildOptions Options;
Options.PruneTriviallyFalseEdges = false;
Options.AddImplicitDtors = true;
@@ -56,7 +56,7 @@ ControlFlowContext::build(const Decl *D, Stmt *S, ASTContext *C) {
// Ensure that all sub-expressions in basic blocks are evaluated.
Options.setAllAlwaysAdd();
- auto Cfg = CFG::buildCFG(D, S, C, Options);
+ auto Cfg = CFG::buildCFG(D, &S, &C, Options);
if (Cfg == nullptr)
return llvm::createStringError(
std::make_error_code(std::errc::invalid_argument),
@@ -64,7 +64,7 @@ ControlFlowContext::build(const Decl *D, Stmt *S, ASTContext *C) {
llvm::DenseMap<const Stmt *, const CFGBlock *> StmtToBlock =
buildStmtToBasicBlockMap(*Cfg);
- return ControlFlowContext(std::move(Cfg), std::move(StmtToBlock));
+ return ControlFlowContext(D, std::move(Cfg), std::move(StmtToBlock));
}
} // namespace dataflow