Remove module providers from ocaml.
[oota-llvm.git] / bindings / ocaml / bitreader / bitreader_ocaml.c
index 0fd484f123435a4c4eb112497e326662aa3e1e9a..ef72ce213d8b9008d4579de38da13bb8fd5df4c4 100644 (file)
@@ -45,27 +45,28 @@ static void llvm_raise(value Prototype, char *Message) {
 
 /*===-- Modules -----------------------------------------------------------===*/
 
-/* Llvm.llmemorybuffer -> Llvm.module */
-CAMLprim value llvm_get_module_provider(LLVMMemoryBufferRef MemBuf) {
+/* Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule */
+CAMLprim value llvm_get_module(LLVMContextRef C, LLVMMemoryBufferRef MemBuf) {
   CAMLparam0();
   CAMLlocal2(Variant, MessageVal);
   char *Message;
   
-  LLVMModuleProviderRef MP;
-  if (LLVMGetBitcodeModuleProvider(MemBuf, &MP, &Message))
+  LLVMModuleRef M;
+  if (LLVMGetBitcodeModuleInContext(C, MemBuf, &M, &Message))
     llvm_raise(llvm_bitreader_error_exn, Message);
   
-  CAMLreturn((value) MemBuf);
+  CAMLreturn((value) M);
 }
 
-/* Llvm.llmemorybuffer -> Llvm.llmodule */
-CAMLprim value llvm_parse_bitcode(LLVMMemoryBufferRef MemBuf) {
+/* Llvm.llcontext -> Llvm.llmemorybuffer -> Llvm.llmodule */
+CAMLprim value llvm_parse_bitcode(LLVMContextRef C,
+                                  LLVMMemoryBufferRef MemBuf) {
   CAMLparam0();
   CAMLlocal2(Variant, MessageVal);
   LLVMModuleRef M;
   char *Message;
   
-  if (LLVMParseBitcode(MemBuf, &M, &Message))
+  if (LLVMParseBitcodeInContext(C, MemBuf, &M, &Message))
     llvm_raise(llvm_bitreader_error_exn, Message);
   
   CAMLreturn((value) M);