rust/tests/mir-opt/inline/asm_unwind.main.Inline.panic-unwind.diff
2023-06-15 15:19:11 -04:00

43 lines
794 B
Diff

- // MIR for `main` before Inline
+ // MIR for `main` after Inline
fn main() -> () {
let mut _0: ();
let _1: ();
+ scope 1 (inlined foo) {
+ let _2: D;
+ scope 2 {
+ debug _d => const D;
+ scope 3 {
+ }
+ }
+ }
bb0: {
StorageLive(_1);
- _1 = foo() -> bb1;
+ StorageLive(_2);
+ asm!("", options(MAY_UNWIND)) -> [return: bb2, unwind: bb3];
}
bb1: {
+ StorageDead(_2);
StorageDead(_1);
_0 = const ();
return;
+ }
+
+ bb2: {
+ drop(_2) -> bb1;
+ }
+
+ bb3 (cleanup): {
+ drop(_2) -> [return: bb4, unwind terminate];
+ }
+
+ bb4 (cleanup): {
+ resume;
}
}