Changes in directory llvm/include/llvm/Bitcode:
BitstreamWriter.h updated: 1.5 -> 1.6 LLVMBitCodes.h updated: 1.1 -> 1.2 --- Log message: Fix a bug in bitstream writer handling abbrevs, add value symtab --- Diffs of the changes: (+12 -6) BitstreamWriter.h | 11 ++++++----- LLVMBitCodes.h | 7 ++++++- 2 files changed, 12 insertions(+), 6 deletions(-) Index: llvm/include/llvm/Bitcode/BitstreamWriter.h diff -u llvm/include/llvm/Bitcode/BitstreamWriter.h:1.5 llvm/include/llvm/Bitcode/BitstreamWriter.h:1.6 --- llvm/include/llvm/Bitcode/BitstreamWriter.h:1.5 Mon Apr 23 13:57:32 2007 +++ llvm/include/llvm/Bitcode/BitstreamWriter.h Mon Apr 23 15:34:46 2007 @@ -147,12 +147,8 @@ EmitVBR(CodeLen, bitc::CodeLenWidth); FlushToWord(); BlockScope.push_back(Block(CurCodeSize, Out.size()/4)); - - // Delete all abbrevs. - for (unsigned i = 0, e = CurAbbrevs.size(); i != e; ++i) - delete CurAbbrevs[i]; - BlockScope.back().PrevAbbrevs.swap(CurAbbrevs); + // Emit a placeholder, which will be replaced when the block is popped. Emit(0, bitc::BlockSizeWidth); @@ -161,6 +157,11 @@ void ExitBlock() { assert(!BlockScope.empty() && "Block scope imbalance!"); + + // Delete all abbrevs. + for (unsigned i = 0, e = CurAbbrevs.size(); i != e; ++i) + delete CurAbbrevs[i]; + const Block &B = BlockScope.back(); // Block tail: Index: llvm/include/llvm/Bitcode/LLVMBitCodes.h diff -u llvm/include/llvm/Bitcode/LLVMBitCodes.h:1.1 llvm/include/llvm/Bitcode/LLVMBitCodes.h:1.2 --- llvm/include/llvm/Bitcode/LLVMBitCodes.h:1.1 Sun Apr 22 20:01:15 2007 +++ llvm/include/llvm/Bitcode/LLVMBitCodes.h Mon Apr 23 15:34:46 2007 @@ -33,7 +33,7 @@ GLOBALCONSTANTS_BLOCK_ID = 3, FUNCTION_BLOCK_ID = 4, TYPE_SYMTAB_BLOCK_ID = 5, - GLOBAL_SYMTAB_BLOCK_ID = 6 + VALUE_SYMTAB_BLOCK_ID = 6 }; @@ -81,6 +81,11 @@ TST_ENTRY_CODE = 1 // TST_ENTRY: [typeid, namelen, namechar x N] }; + // The value symbol table only has one code (VST_ENTRY_CODE). + enum ValueSymtabCodes { + VST_ENTRY_CODE = 1 // VST_ENTRY: [valid, namelen, namechar x N] + }; + } // End bitc namespace } // End llvm namespace _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits