From 36d5e7d31be61f631ace0488f0d6cd71b8f31a16 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 23 Apr 2007 16:04:05 +0000 Subject: first part of implementation of abbrevs. The writer isn't fully there yet and the reader doesn't handle them at all yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36363 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bitcode/Reader/BitcodeReader.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index be05f45619..f464e33f6a 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -93,7 +93,7 @@ bool BitcodeReader::ParseTypeTable(BitstreamReader &Stream) { continue; } - if (Code == bitc::DEFINE_ABBREVS) { + if (Code == bitc::DEFINE_ABBREV) { assert(0 && "Abbrevs not implemented yet!"); } @@ -230,7 +230,7 @@ bool BitcodeReader::ParseTypeSymbolTable(BitstreamReader &Stream) { continue; } - if (Code == bitc::DEFINE_ABBREVS) { + if (Code == bitc::DEFINE_ABBREV) { assert(0 && "Abbrevs not implemented yet!"); } @@ -293,7 +293,7 @@ bool BitcodeReader::ParseModule(BitstreamReader &Stream, continue; } - if (Code == bitc::DEFINE_ABBREVS) { + if (Code == bitc::DEFINE_ABBREV) { assert(0 && "Abbrevs not implemented yet!"); } @@ -345,7 +345,7 @@ bool BitcodeReader::ParseModule(BitstreamReader &Stream, // GLOBALVAR: [type, isconst, initid, // linkage, alignment, section, visibility, threadlocal] case bitc::MODULE_CODE_GLOBALVAR: { - if (Record.size() < 8) + if (Record.size() < 6) return Error("Invalid MODULE_CODE_GLOBALVAR record"); const Type *Ty = getTypeByID(Record[0]); if (!isa(Ty)) @@ -361,8 +361,10 @@ bool BitcodeReader::ParseModule(BitstreamReader &Stream, return Error("Invalid section ID"); Section = SectionTable[Record[5]-1]; } - GlobalValue::VisibilityTypes Visibility = GetDecodedVisibility(Record[6]); - bool isThreadLocal = Record[7]; + GlobalValue::VisibilityTypes Visibility = GlobalValue::DefaultVisibility; + if (Record.size() >= 6) Visibility = GetDecodedVisibility(Record[6]); + bool isThreadLocal = false; + if (Record.size() >= 7) isThreadLocal = Record[7]; GlobalVariable *NewGV = new GlobalVariable(Ty, isConstant, Linkage, 0, "", TheModule); -- cgit v1.2.3-18-g5258