Adding bindings for memory buffers and module providers. Switching
to exceptions rather than variants for error handling in Ocaml.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45226 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm-c/BitReader.h b/include/llvm-c/BitReader.h
index ba77988..f821d68 100644
--- a/include/llvm-c/BitReader.h
+++ b/include/llvm-c/BitReader.h
@@ -26,21 +26,18 @@
#endif
-/* Reads a module from the specified path, returning a reference to the module
- via the OutModule parameter. Returns 0 on success. Optionally returns a
- human-readable error message. */
-int LLVMReadBitcodeFromFile(const char *Path, LLVMModuleRef *OutModule,
- char **OutMessage);
+/* Builds a module from the bitcode in the specified memory buffer, returning a
+ reference to the module via the OutModule parameter. Returns 0 on success.
+ Optionally returns a human-readable error message via OutMessage. */
+int LLVMParseBitcode(LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutModule, char **OutMessage);
-/* Reads a module from the specified path, returning a reference to a lazy
- module provider via the OutModule parameter. Returns 0 on success. Optionally
- returns a human-readable error message. */
-int LLVMCreateModuleProviderFromFile(const char *Path,
- LLVMModuleProviderRef *OutMP,
- char **OutMessage);
-
-/* Disposes of the message allocated by the bitcode reader, if any. */
-void LLVMDisposeBitcodeReaderMessage(char *Message);
+/* Reads a module from the specified path, returning via the OutMP parameter
+ a module provider which performs lazy deserialization. Returns 0 on success.
+ Optionally returns a human-readable error message via OutMessage. */
+int LLVMGetBitcodeModuleProvider(LLVMMemoryBufferRef MemBuf,
+ LLVMModuleProviderRef *OutMP,
+ char **OutMessage);
#ifdef __cplusplus