diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-14 18:25:45 +0000 | 
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-14 18:25:45 +0000 | 
| commit | 4e74d3be35b2e5b08a03c0df487570652d6c12a5 (patch) | |
| tree | f0da9288a741cfef74dc3768fb0f6dc9ebdb94b1 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
| parent | 76c508bc9afff652bb0d0e58de87a1c3d13a42de (diff) | |
| download | llvm-4e74d3be35b2e5b08a03c0df487570652d6c12a5.zip llvm-4e74d3be35b2e5b08a03c0df487570652d6c12a5.tar.gz llvm-4e74d3be35b2e5b08a03c0df487570652d6c12a5.tar.bz2 | |
Add support for comdats with names larger than 256 characters.
llvm-svn: 226012
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
| -rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index a96e866..5e8c64e 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -549,11 +549,13 @@ static unsigned getEncodedComdatSelectionKind(const Comdat &C) {  }  static void writeComdats(const ValueEnumerator &VE, BitstreamWriter &Stream) { -  SmallVector<uint8_t, 64> Vals; +  SmallVector<uint16_t, 64> Vals;    for (const Comdat *C : VE.getComdats()) {      // COMDAT: [selection_kind, name]      Vals.push_back(getEncodedComdatSelectionKind(*C)); -    Vals.push_back(C->getName().size()); +    size_t Size = C->getName().size(); +    assert(isUInt<16>(Size)); +    Vals.push_back(Size);      for (char Chr : C->getName())        Vals.push_back((unsigned char)Chr);      Stream.EmitRecord(bitc::MODULE_CODE_COMDAT, Vals, /*AbbrevToUse=*/0); | 
