From 706b4fc47bbc608932d3b491ae19a3b9cde9497b Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Fri, 17 Jan 2020 20:45:01 +0000 Subject: Vendor import of llvm-project master e26a78e70, the last commit before the llvmorg-11-init tag, from which release/10.x was branched. --- llvm/lib/Bitstream/Reader/BitstreamReader.cpp | 38 +++------------------------ 1 file changed, 4 insertions(+), 34 deletions(-) (limited to 'llvm/lib/Bitstream/Reader/BitstreamReader.cpp') diff --git a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp index a4a97ced54579..92d7c91a1d351 100644 --- a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp +++ b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp @@ -88,37 +88,6 @@ static Expected readAbbreviatedField(BitstreamCursor &Cursor, llvm_unreachable("invalid abbreviation encoding"); } -static Error skipAbbreviatedField(BitstreamCursor &Cursor, - const BitCodeAbbrevOp &Op) { - assert(!Op.isLiteral() && "Not to be used with literals!"); - - // Decode the value as we are commanded. - switch (Op.getEncoding()) { - case BitCodeAbbrevOp::Array: - case BitCodeAbbrevOp::Blob: - llvm_unreachable("Should not reach here"); - case BitCodeAbbrevOp::Fixed: - assert((unsigned)Op.getEncodingData() <= Cursor.MaxChunkSize); - if (Expected Res = Cursor.Read((unsigned)Op.getEncodingData())) - break; - else - return Res.takeError(); - case BitCodeAbbrevOp::VBR: - assert((unsigned)Op.getEncodingData() <= Cursor.MaxChunkSize); - if (Expected Res = - Cursor.ReadVBR64((unsigned)Op.getEncodingData())) - break; - else - return Res.takeError(); - case BitCodeAbbrevOp::Char6: - if (Expected Res = Cursor.Read(6)) - break; - else - return Res.takeError(); - } - return ErrorSuccess(); -} - /// skipRecord - Read the current record and discard it. Expected BitstreamCursor::skipRecord(unsigned AbbrevID) { // Skip unabbreviated records by reading past their entries. @@ -163,9 +132,10 @@ Expected BitstreamCursor::skipRecord(unsigned AbbrevID) { if (Op.getEncoding() != BitCodeAbbrevOp::Array && Op.getEncoding() != BitCodeAbbrevOp::Blob) { - if (Error Err = skipAbbreviatedField(*this, Op)) - return std::move(Err); - continue; + if (Expected MaybeField = readAbbreviatedField(*this, Op)) + continue; + else + return MaybeField.takeError(); } if (Op.getEncoding() == BitCodeAbbrevOp::Array) { -- cgit v1.2.3