Changes in directory llvm/include/llvm/Bitcode:
ReaderWriter.h updated: 1.1 -> 1.2 --- Log message: Switch the bitcode reader interface to take a MemoryBuffer instead of knowing anything about disk I/O itself. This greatly simplifies its interface - eliminating the need for the ReaderWrappers.cpp file. This adds a new option to llvm-dis (-bitcode) which instructs it to read the input file as bitcode. Until/unless the bytecode reader is taught to read from MemoryBuffer, there is no way to handle stdin reading without it. I don't plan to switch the bytecode reader over, I'd rather delete it :), so the option will stay around temporarily. --- Diffs of the changes: (+10 -5) ReaderWriter.h | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) Index: llvm/include/llvm/Bitcode/ReaderWriter.h diff -u llvm/include/llvm/Bitcode/ReaderWriter.h:1.1 llvm/include/llvm/Bitcode/ReaderWriter.h:1.2 --- llvm/include/llvm/Bitcode/ReaderWriter.h:1.1 Sun Apr 22 01:22:05 2007 +++ llvm/include/llvm/Bitcode/ReaderWriter.h Sun Apr 29 02:54:31 2007 @@ -20,15 +20,20 @@ namespace llvm { class Module; class ModuleProvider; + class MemoryBuffer; - ModuleProvider *getBitcodeModuleProvider(const std::string &Filename, + /// getBitcodeModuleProvider - 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. + ModuleProvider *getBitcodeModuleProvider(MemoryBuffer *Buffer, std::string *ErrMsg = 0); - /// ParseBitcodeFile - Read the specified bitcode file, returning the module. - /// If an error occurs, return null and fill in *ErrMsg if non-null. - Module *ParseBitcodeFile(const std::string &Filename, - std::string *ErrMsg = 0); + /// 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, std::string *ErrMsg = 0); /// WriteBitcodeToFile - Write the specified module to the specified output /// stream. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits