This method is particular: it iterates at the top-level and does
not have an enclosing block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286394
91177308-0d34-0410-b5e6-
96231b3b80d8
// We expect a number of well-defined blocks, though we don't necessarily
// need to understand them all.
while (true) {
+ // This loop iterates at the top-level: since there is no enclosing block
+ // we need to make sure we aren't at the end of the stream before calling
+ // advance, otherwise we'll get an error.
+ if (Stream.AtEndOfStream())
+ return Error::success();
+
BitstreamEntry Entry = Stream.advance();
switch (Entry.Kind) {
case BitstreamEntry::Error: