Changes to get some meaningful feedback from the bytecode reader.  At some point this stuff should all be exception driven, but for now it is not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@970 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h
index 1d9903d..3a8dbb8 100644
--- a/lib/Bytecode/Reader/ReaderInternals.h
+++ b/lib/Bytecode/Reader/ReaderInternals.h
@@ -16,7 +16,7 @@
 #include <list>
 
 // Enable to trace to figure out what the heck is going on when parsing fails
-#define TRACE_LEVEL 0
+#define TRACE_LEVEL 10
 
 #if TRACE_LEVEL    // ByteCodeReading_TRACEer
 #include "llvm/Assembly/Writer.h"
@@ -45,6 +45,7 @@
 };
 
 class BytecodeParser : public AbstractTypeUser {
+  string Error;     // Error message string goes here...
 public:
   BytecodeParser() {
     // Define this in case we don't see a ModuleGlobalInfo block.
@@ -52,6 +53,9 @@
   }
 
   Module *ParseBytecode(const uchar *Buf, const uchar *EndBuf);
+
+  string getError() const { return Error; }
+
 private:          // All of this data is transient across calls to ParseBytecode
   Module *TheModule;   // Current Module being read into...