summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView/StringTable.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2017-05-03 07:29:25 +0000
committerDaniel Jasper <djasper@google.com>2017-05-03 07:29:25 +0000
commitdff096f217542fc12a69c228536d5b555cb23912 (patch)
treee47fed572e4212072a742d6d684a07f0ef038e45 /llvm/lib/DebugInfo/CodeView/StringTable.cpp
parent726701b0ed67c400bc41fe08feb8a19668b59cbf (diff)
downloadbcm5719-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.cpp65
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(); }
OpenPOWER on IntegriCloud