85 lines · plain
1// RUN: cir-opt %s --verify-roundtrip | FileCheck %s2 3!u8i = !cir.int<u, 8>4 5module {6 7cir.global "private" constant external @_ZTIi : !cir.ptr<!u8i>8cir.global "private" constant external @_ZTIPKc : !cir.ptr<!u8i>9 10cir.func dso_local @empty_try_block_with_catch_all() {11 cir.scope {12 cir.try {13 cir.yield14 } catch all {15 cir.yield16 }17 }18 cir.return19}20 21// CHECK: cir.func dso_local @empty_try_block_with_catch_all() {22// CHECK: cir.scope {23// CHECK: cir.try {24// CHECK: cir.yield25// CHECK: } catch all {26// CHECK: cir.yield27// CHECK: }28// CHECK: }29// CHECK: cir.return30// CHECK: }31 32cir.func dso_local @empty_try_block_with_catch_unwind() {33 cir.scope {34 cir.try {35 cir.yield36 } unwind {37 cir.yield38 }39 }40 cir.return41}42 43// CHECK: cir.func dso_local @empty_try_block_with_catch_unwind() {44// CHECK: cir.scope {45// CHECK: cir.try {46// CHECK: cir.yield47// CHECK: } unwind {48// CHECK: cir.yield49// CHECK: }50// CHECK: }51// CHECK: cir.return52// CHECK: }53 54cir.func dso_local @empty_try_block_with_catch_ist() {55 cir.scope {56 cir.try {57 cir.yield58 } catch [type #cir.global_view<@_ZTIi> : !cir.ptr<!u8i>] {59 cir.yield60 } catch [type #cir.global_view<@_ZTIPKc> : !cir.ptr<!u8i>] {61 cir.yield62 } unwind {63 cir.yield64 }65 }66 cir.return67}68 69// CHECK: cir.func dso_local @empty_try_block_with_catch_ist() {70// CHECK: cir.scope {71// CHECK: cir.try {72// CHECK: cir.yield73// CHECK: } catch [type #cir.global_view<@_ZTIi> : !cir.ptr<!u8i>] {74// CHECK: cir.yield75// CHECK: } catch [type #cir.global_view<@_ZTIPKc> : !cir.ptr<!u8i>] {76// CHECK: cir.yield77// CHECK: } unwind {78// CHECK: cir.yield79// CHECK: }80// CHECK: }81// CHECK: cir.return82// CHECK: }83 84}85