; Test to make sure the invoke instruction and unwind are working... implementation declare void %abort() internal void %throw(bool %ShouldThrow) { br bool %ShouldThrow, label %Throw, label %NoThrow Throw: unwind NoThrow: ret void } int %main() { invoke void %throw(bool false) to label %Cont except label %Abort Cont: invoke void %throw(bool true) to label %Abort except label %Exc Abort: call void %abort() ret int 1 Exc: ret int 0 }