summaryrefslogtreecommitdiffstats
path: root/include/llvm/Bitcode/ReaderWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Bitcode/ReaderWriter.h')
-rw-r--r--include/llvm/Bitcode/ReaderWriter.h27
1 files changed, 10 insertions, 17 deletions
diff --git a/include/llvm/Bitcode/ReaderWriter.h b/include/llvm/Bitcode/ReaderWriter.h
index 78f40ca..0918e92 100644
--- a/include/llvm/Bitcode/ReaderWriter.h
+++ b/include/llvm/Bitcode/ReaderWriter.h
@@ -14,6 +14,7 @@
#ifndef LLVM_BITCODE_READERWRITER_H
#define LLVM_BITCODE_READERWRITER_H
+#include "llvm/Support/ErrorOr.h"
#include <string>
namespace llvm {
@@ -25,14 +26,11 @@ namespace llvm {
class ModulePass;
class raw_ostream;
- /// getLazyBitcodeModule - Read the header of the specified bitcode buffer
- /// and prepare for lazy deserialization of function bodies. If successful,
- /// this takes ownership of 'buffer' and returns a non-null pointer. On
- /// error, this returns null, *does not* take ownership of Buffer, and fills
- /// in *ErrMsg with an error description if ErrMsg is non-null.
- Module *getLazyBitcodeModule(MemoryBuffer *Buffer,
- LLVMContext &Context,
- std::string *ErrMsg = 0);
+ /// Read the header of the specified bitcode buffer and prepare for lazy
+ /// deserialization of function bodies. If successful, this takes ownership
+ /// of 'buffer. On error, this *does not* take ownership of Buffer.
+ ErrorOr<Module *> getLazyBitcodeModule(MemoryBuffer *Buffer,
+ LLVMContext &Context);
/// getStreamedBitcodeModule - Read the header of the specified stream
/// and prepare for lazy deserialization and streaming of function bodies.
@@ -52,21 +50,16 @@ namespace llvm {
LLVMContext &Context,
std::string *ErrMsg = 0);
- /// ParseBitcodeFile - Read the specified bitcode file, returning the module.
- /// If an error occurs, this returns null and fills in *ErrMsg if it is
- /// non-null. This method *never* takes ownership of Buffer.
- Module *ParseBitcodeFile(MemoryBuffer *Buffer, LLVMContext &Context,
- std::string *ErrMsg = 0);
+ /// Read the specified bitcode file, returning the module.
+ /// This method *never* takes ownership of Buffer.
+ ErrorOr<Module *> parseBitcodeFile(MemoryBuffer *Buffer,
+ LLVMContext &Context);
/// WriteBitcodeToFile - Write the specified module to the specified
/// raw output stream. For streams where it matters, the given stream
/// should be in "binary" mode.
void WriteBitcodeToFile(const Module *M, raw_ostream &Out);
- /// createBitcodeWriterPass - Create and return a pass that writes the module
- /// to the specified ostream.
- ModulePass *createBitcodeWriterPass(raw_ostream &Str);
-
/// isBitcodeWrapper - Return true if the given bytes are the magic bytes
/// for an LLVM IR bitcode wrapper.