1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-pc-mingw32 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine void @func() nounwind personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { 4*9880d681SAndroid Build Coastguard Workerinvoke.cont: 5*9880d681SAndroid Build Coastguard Worker %call = tail call i8* @malloc() 6*9880d681SAndroid Build Coastguard Worker %a = invoke i32 @bar() 7*9880d681SAndroid Build Coastguard Worker to label %bb1 unwind label %lpad 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerbb1: 10*9880d681SAndroid Build Coastguard Worker ret void 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerlpad: 13*9880d681SAndroid Build Coastguard Worker %exn.ptr = landingpad { i8*, i32 } 14*9880d681SAndroid Build Coastguard Worker catch i8* null 15*9880d681SAndroid Build Coastguard Worker %exn = extractvalue { i8*, i32 } %exn.ptr, 0 16*9880d681SAndroid Build Coastguard Worker %eh.selector = extractvalue { i8*, i32 } %exn.ptr, 1 17*9880d681SAndroid Build Coastguard Worker %ehspec.fails = icmp slt i32 %eh.selector, 0 18*9880d681SAndroid Build Coastguard Worker br i1 %ehspec.fails, label %ehspec.unexpected, label %cleanup 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workercleanup: 21*9880d681SAndroid Build Coastguard Worker resume { i8*, i32 } %exn.ptr 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerehspec.unexpected: 24*9880d681SAndroid Build Coastguard Worker tail call void @__cxa_call_unexpected(i8* %exn) noreturn nounwind 25*9880d681SAndroid Build Coastguard Worker unreachable 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerdeclare noalias i8* @malloc() 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdeclare i32 @__gxx_personality_v0(...) 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Workerdeclare void @_Unwind_Resume_or_Rethrow(i8*) 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Workerdeclare void @__cxa_call_unexpected(i8*) 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerdeclare i32 @bar() 37