diff options
author | Daniel Jasper <djasper@google.com> | 2017-05-03 07:29:25 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2017-05-03 07:29:25 +0000 |
commit | dff096f217542fc12a69c228536d5b555cb23912 (patch) | |
tree | e47fed572e4212072a742d6d684a07f0ef038e45 /llvm/lib/DebugInfo/CodeView/StringTable.cpp | |
parent | 726701b0ed67c400bc41fe08feb8a19668b59cbf (diff) | |
download | bcm5719-llvm-dff096f217542fc12a69c228536d5b555cb23912.tar.gz bcm5719-llvm-dff096f217542fc12a69c228536d5b555cb23912.zip |
Revert r301986 (and subsequent r301987).
The patch is failing to add StringTableStreamBuilder.h, but that isn't
even discovered because the corresponding StringTableStreamBuilder.cpp
isn't added to any CMakeLists.txt file and thus never built. I think
this patch is just incomplete.
llvm-svn: 302002
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/StringTable.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/CodeView/StringTable.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/StringTable.cpp b/llvm/lib/DebugInfo/CodeView/StringTable.cpp deleted file mode 100644 index 5d3a0dd9cfa..00000000000 --- a/llvm/lib/DebugInfo/CodeView/StringTable.cpp +++ /dev/null @@ -1,65 +0,0 @@ -//===- StringTable.cpp - CodeView String Table Reader/Writer ----*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/DebugInfo/CodeView/StringTable.h" - -#include "llvm/Support/BinaryStream.h" -#include "llvm/Support/BinaryStreamReader.h" -#include "llvm/Support/BinaryStreamWriter.h" - -using namespace llvm; -using namespace llvm::codeview; - -StringTableRef::StringTableRef() {} - -Error StringTableRef::initialize(BinaryStreamReader &Reader) { - return Reader.readStreamRef(Stream, Reader.bytesRemaining()); -} - -StringRef StringTableRef::getString(uint32_t Offset) const { - BinaryStreamReader Reader(Stream); - Reader.setOffset(Offset); - StringRef Result; - Error EC = Reader.readCString(Result); - assert(!EC); - consumeError(std::move(EC)); - return Result; -} - -uint32_t StringTable::insert(StringRef S) { - auto P = Strings.insert({S, StringSize}); - - // If a given string didn't exist in the string table, we want to increment - // the string table size. - if (P.second) - StringSize += S.size() + 1; // +1 for '\0' - return P.first->second; -} - -uint32_t StringTable::calculateSerializedSize() const { return StringSize; } - -Error StringTable::commit(BinaryStreamWriter &Writer) const { - assert(Writer.bytesRemaining() == StringSize); - uint32_t MaxOffset = 1; - - for (auto &Pair : Strings) { - StringRef S = Pair.getKey(); - uint32_t Offset = Pair.getValue(); - Writer.setOffset(Offset); - if (auto EC = Writer.writeCString(S)) - return EC; - MaxOffset = std::max<uint32_t>(MaxOffset, Offset + S.size() + 1); - } - - Writer.setOffset(MaxOffset); - assert(Writer.bytesRemaining() == 0); - return Error::success(); -} - -uint32_t StringTable::size() const { return Strings.size(); } |