From: Reid Spencer Date: Fri, 9 Jul 2004 21:13:53 +0000 (+0000) Subject: Fix a backwards compatibility bug found by Tanya. In version 1.2, the X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=011bed5ef836fa92e750d21e124158592192f5f4;p=oota-llvm.git Fix a backwards compatibility bug found by Tanya. In version 1.2, the global type plane starts with a length and the TypeTyID value to identify the type plane has having type definitions. This doesn't happen in 1.3 because the types are read from a known position in the file. However, the TypeTyID must be read in (and ignored) if its a 1.2 bytecode file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14728 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index 14f6c9f7e27..1b11f22e5cf 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -1641,6 +1641,11 @@ void BytecodeReader::ParseAllFunctionBodies() { void BytecodeReader::ParseGlobalTypes() { // Read the number of types unsigned NumEntries = read_vbr_uint(); + + // Ignore the type plane identifier for types if the bc file is pre 1.3 + if (hasTypeDerivedFromValue) + read_vbr_uint(); + ParseTypeConstants(ModuleTypes, NumEntries); }