push bytecode decompressor out through APIs. Now the bytecode reader
api's look like this:
ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);
This is ugly, but allows a client to say:
getBytecodeModuleProvider("foo", 0);
If they do this, there is no dependency on the compression libraries, saving
codesize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34012 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Reader/Reader.h b/lib/Bytecode/Reader/Reader.h
index 4593e2a..516a116 100644
--- a/lib/Bytecode/Reader/Reader.h
+++ b/lib/Bytecode/Reader/Reader.h
@@ -140,16 +140,15 @@
/// @name Methods
/// @{
public:
-
- typedef size_t Decompressor_t(const char *, size_t, char*&, std::string*);
-
+ typedef size_t BCDecompressor_t(const char *, size_t, char*&, std::string*);
+
/// @returns true if an error occurred
/// @brief Main interface to parsing a bytecode buffer.
bool ParseBytecode(
volatile BufPtr Buf, ///< Beginning of the bytecode buffer
unsigned Length, ///< Length of the bytecode buffer
const std::string &ModuleID, ///< An identifier for the module constructed.
- Decompressor_t *Decompressor = 0, ///< Optional decompressor.
+ BCDecompressor_t *Decompressor = 0, ///< Optional decompressor.
std::string* ErrMsg = 0 ///< Optional place for error message
);