diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_trans/mir/analyze.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_trans/mir/analyze.rs b/src/librustc_trans/mir/analyze.rs index 96ef26d3f6f..0f95668302c 100644 --- a/src/librustc_trans/mir/analyze.rs +++ b/src/librustc_trans/mir/analyze.rs @@ -260,7 +260,9 @@ pub fn cleanup_kinds<'a, 'tcx>(mir: &mir::Mir<'tcx>) -> IndexVec<mir::BasicBlock result[succ] = CleanupKind::Internal { funclet: funclet }; } CleanupKind::Funclet => { - set_successor(funclet, succ); + if funclet != succ { + set_successor(funclet, succ); + } } CleanupKind::Internal { funclet: succ_funclet } => { if funclet != succ_funclet { |
