void switch_destruct(int z) { // CHECK: call void @_ZN16ConvertibleToIntC1Ev switch (ConvertibleToInt conv = ConvertibleToInt()) { case 0: break; default: // CHECK: store i32 19 z = 19; break; } // CHECK: call void @_ZN16ConvertibleToIntD1Ev // CHECK: store i32 20 z = 20; // CHECK: call void @_Z12getConvToIntv // CHECK: call i32 @_ZN16ConvertibleToIntcviEv // CHECK: call void @_ZN16ConvertibleToIntD1Ev switch(getConvToInt()) { case 0: break; } // CHECK: store i32 27 z = 27; // CHECK: ret }
void switch_destruct(int z) { // CHECK: call void @_ZN16ConvertibleToIntC1Ev switch (ConvertibleToInt conv = ConvertibleToInt()) { case 0: break; default: // CHECK: {{sw.default:|:3}} // CHECK: store i32 19 z = 19; break; } // CHECK: {{sw.epilog:|:5}} // CHECK: call void @_ZN16ConvertibleToIntD1Ev // CHECK: store i32 20 z = 20; }