diff options
author | Jan Korous <jkorous@apple.com> | 2022-02-14 18:22:18 -0800 |
---|---|---|
committer | Jan Korous <jkorous@apple.com> | 2022-02-15 17:12:38 -0800 |
commit | 4a794d848ce81f41c6e23a4d3d3f70c2d7d1baa4 (patch) | |
tree | 041be761dcf0b60be9bd886427192f131a2fc78e /llvm/lib/Bitstream/Reader/BitstreamReader.cpp | |
parent | 6280c29a870173601a7befb3b45f92025727c41d (diff) | |
download | llvm-4a794d848ce81f41c6e23a4d3d3f70c2d7d1baa4.zip llvm-4a794d848ce81f41c6e23a4d3d3f70c2d7d1baa4.tar.gz llvm-4a794d848ce81f41c6e23a4d3d3f70c2d7d1baa4.tar.bz2 |
[Bitstream] Improve error propagation from ReadVBR
Differential Revision: https://reviews.llvm.org/D119307
Diffstat (limited to 'llvm/lib/Bitstream/Reader/BitstreamReader.cpp')
-rw-r--r-- | llvm/lib/Bitstream/Reader/BitstreamReader.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp index b2da7e7..ac674e8 100644 --- a/llvm/lib/Bitstream/Reader/BitstreamReader.cpp +++ b/llvm/lib/Bitstream/Reader/BitstreamReader.cpp @@ -220,7 +220,9 @@ Expected<unsigned> BitstreamCursor::readRecord(unsigned AbbrevID, uint32_t Code = MaybeCode.get(); Expected<uint32_t> MaybeNumElts = ReadVBR(6); if (!MaybeNumElts) - return MaybeNumElts.takeError(); + return error(("Failed to read size: " + + toString(std::move(MaybeNumElts.takeError()))) + .c_str()); uint32_t NumElts = MaybeNumElts.get(); if (!isSizePlausible(NumElts)) return error("Size is not plausible"); @@ -275,7 +277,9 @@ Expected<unsigned> BitstreamCursor::readRecord(unsigned AbbrevID, // Array case. Read the number of elements as a vbr6. Expected<uint32_t> MaybeNumElts = ReadVBR(6); if (!MaybeNumElts) - return MaybeNumElts.takeError(); + return error(("Failed to read size: " + + toString(std::move(MaybeNumElts.takeError()))) + .c_str()); uint32_t NumElts = MaybeNumElts.get(); if (!isSizePlausible(NumElts)) return error("Size is not plausible"); |