This change makes it the client's responsibility to call ReadBlockInfoBlock()
at most once. This is in preparation for a future change that will allow
there to be multiple block info blocks.
See also: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106512.html
Differential Revision: https://reviews.llvm.org/D26016
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285350
91177308-0d34-0410-b5e6-
96231b3b80d8
}
bool BitstreamCursor::ReadBlockInfoBlock() {
- // If this is the second stream to get to the block info block, skip it.
+ // We expect the client to read the block info block at most once.
if (getBitStreamReader()->hasBlockInfoRecords())
- return SkipBlock();
+ report_fatal_error("Duplicate read of block info block");
if (EnterSubBlock(bitc::BLOCKINFO_BLOCK_ID)) return true;