[NamedLazyMemberLoading] Scan abbrevs out of DECL_MEMBER_TABLES_BLOCK_ID.

This commit is contained in:
Graydon Hoare
2017-10-31 00:24:02 -07:00
parent 60ddcdab8c
commit da32bb03ee

View File

@@ -768,6 +768,14 @@ bool ModuleFile::readIndexBlock(llvm::BitstreamCursor &cursor) {
if (entry.ID == DECL_MEMBER_TABLES_BLOCK_ID) {
DeclMemberTablesCursor = cursor;
DeclMemberTablesCursor.EnterSubBlock(DECL_MEMBER_TABLES_BLOCK_ID);
llvm::BitstreamEntry subentry;
do {
// Scan forward, to load the cursor with any abbrevs we'll need while
// seeking inside this block later.
subentry = DeclMemberTablesCursor.advance(
llvm::BitstreamCursor::AF_DontPopBlockAtEnd);
} while (!DeclMemberTablesCursor.AtEndOfStream() &&
subentry.Kind != llvm::BitstreamEntry::EndBlock);
}
if (cursor.SkipBlock())
return false;