Index: include/llvm/Support/BitcodeStream.h |
diff --git a/include/llvm/Support/BitcodeStream.h b/include/llvm/Support/BitcodeStream.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..58af6f6b9626187e68e3abe883ea0ab30a7f6659 |
--- /dev/null |
+++ b/include/llvm/Support/BitcodeStream.h |
@@ -0,0 +1,39 @@ |
+//===---- llvm/Bitcode/BitcodeStream.h - Lazy bitcode streaming -*- C++ -*-===// |
+// |
+// The LLVM Compiler Infrastructure |
+// |
+// This file is distributed under the University of Illinois Open Source |
+// License. See LICENSE.TXT for details. |
+// |
+//===----------------------------------------------------------------------===// |
+// |
+// This header defines BitcodeStreamer, which fetches bytes of bitcode from |
+// a stream source. It provides support for streaming (lazy reading) of |
+// bitcode. |
+// |
+//===----------------------------------------------------------------------===// |
+ |
+ |
+#ifndef LLVM_SUPPORT_BITCODESTREAM_H_ |
+#define LLVM_SUPPORT_BITCODESTREAM_H_ |
+ |
+#include <string> |
+ |
+namespace llvm { |
+class MemoryBuffer; |
+ |
+class BitcodeStreamer { |
+public: |
+ /// Fetch bytes [start-end) from the bitcode stream, and write them to the |
+ /// buffer pointed to by buf. Returns the number of bytes actually written. |
+ virtual size_t GetBytes(unsigned char *buf, size_t len) = 0; |
+ |
+ virtual ~BitcodeStreamer(); |
+}; |
+ |
+BitcodeStreamer *getBitcodeFileStreamer(const std::string &Filename, |
+ std::string *Err); |
+ |
+} |
+ |
+#endif // LLVM_SUPPORT_BITCODESTREAM_H_ |