diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Analysis/CFG.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Analysis/CFG.cpp b/clang/lib/Analysis/CFG.cpp index fa55f9db8ac..934abb063e8 100644 --- a/clang/lib/Analysis/CFG.cpp +++ b/clang/lib/Analysis/CFG.cpp @@ -1158,6 +1158,8 @@ void CFGBuilder::EnterConstructionContextIfNecessary( assert(CurrentConstructionContext.isNull() && "Already within a construction context!"); CurrentConstructionContext = ConstructionContext(Trigger); + } else if (auto *Cleanups = dyn_cast<ExprWithCleanups>(Child)) { + EnterConstructionContextIfNecessary(Trigger, Cleanups->getSubExpr()); } } |