================
@@ -4740,11 +4740,20 @@ CFGBlock *CFGBuilder::VisitCXXTryStmt(CXXTryStmt 
*Terminator) {
 
   // Save the current "try" context.
   SaveAndRestore SaveTry(TryTerminatedBlock, NewTryTerminatedBlock);
-  cfg->addTryDispatchBlock(TryTerminatedBlock);
+  cfg->addTryDispatchBlock(NewTryTerminatedBlock);
 
   assert(Terminator->getTryBlock() && "try must contain a non-NULL body");
   Block = nullptr;
-  return addStmt(Terminator->getTryBlock());
+
+  CFGBlock *TryBodyEntry = addStmt(Terminator->getTryBlock());
+  if (TryBodyEntry) {
+    addSuccessor(NewTryTerminatedBlock, TryBodyEntry);
+  } else {
+    CFGBlock *EmptyTryBody = createBlock(/*add_successor*/ false);
----------------
zwuis wrote:

`/*add_successor=*/false`

https://github.com/llvm/llvm-project/pull/175443
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to