================
@@ -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