-/* Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule */
-CAMLprim value llvm_parse_bitcode(LLVMContextRef C,
- LLVMMemoryBufferRef MemBuf) {
- CAMLparam0();
- CAMLlocal2(Variant, MessageVal);
- LLVMModuleRef M;
- char *Message;
-
- if (LLVMParseBitcodeInContext(C, MemBuf, &M, &Message))
- llvm_raise(llvm_bitreader_error_exn, Message);
-
- CAMLreturn((value) M);
+ if (LLVMParseBitcodeInContext2(C, MemBuf, &M))
+ llvm_raise(*caml_named_value("Llvm_bitreader.Error"), "");
+
+ return M;