[llvm] r221142 - [OCaml] Initialize local roots prior to raising.
Peter Zotov
whitequark at whitequark.org
Mon Nov 3 01:51:44 PST 2014
Author: whitequark
Date: Mon Nov 3 03:51:44 2014
New Revision: 221142
URL: http://llvm.org/viewvc/llvm-project?rev=221142&view=rev
Log:
[OCaml] Initialize local roots prior to raising.
On 4.02, the OCaml unwinder otherwise gets confused and segfaults.
Modified:
llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c
Modified: llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c?rev=221142&r1=221141&r2=221142&view=diff
==============================================================================
--- llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (original)
+++ llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c Mon Nov 3 03:51:44 2014
@@ -1590,11 +1590,12 @@ CAMLprim value llvm_position_builder(val
}
/* llbuilder -> llbasicblock */
-CAMLprim LLVMBasicBlockRef llvm_insertion_block(value B) {
+CAMLprim value llvm_insertion_block(value B) {
+ CAMLparam0();
LLVMBasicBlockRef InsertBlock = LLVMGetInsertBlock(Builder_val(B));
if (!InsertBlock)
- raise_not_found();
- return InsertBlock;
+ caml_raise_not_found();
+ CAMLreturn((value) InsertBlock);
}
/* llvalue -> string -> llbuilder -> unit */
More information about the llvm-commits
mailing list