diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
| commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
| tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp | |
| parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp')
| -rw-r--r-- | contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp b/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp deleted file mode 100644 index de9bb42b17987..0000000000000 --- a/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp +++ /dev/null @@ -1,59 +0,0 @@ -//===- SymbolSerializer.cpp -----------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "llvm/DebugInfo/CodeView/SymbolSerializer.h" -#include "llvm/ADT/ArrayRef.h" -#include "llvm/DebugInfo/CodeView/SymbolRecord.h" -#include "llvm/Support/Endian.h" -#include "llvm/Support/Error.h" -#include <cassert> -#include <cstdint> -#include <cstring> - -using namespace llvm; -using namespace llvm::codeview; - -SymbolSerializer::SymbolSerializer(BumpPtrAllocator &Allocator, - CodeViewContainer Container) - : Storage(Allocator), Stream(RecordBuffer, support::little), Writer(Stream), - Mapping(Writer, Container) {} - -Error SymbolSerializer::visitSymbolBegin(CVSymbol &Record) { - assert(!CurrentSymbol.hasValue() && "Already in a symbol mapping!"); - - Writer.setOffset(0); - - if (auto EC = writeRecordPrefix(Record.kind())) - return EC; - - CurrentSymbol = Record.kind(); - if (auto EC = Mapping.visitSymbolBegin(Record)) - return EC; - - return Error::success(); -} - -Error SymbolSerializer::visitSymbolEnd(CVSymbol &Record) { - assert(CurrentSymbol.hasValue() && "Not in a symbol mapping!"); - - if (auto EC = Mapping.visitSymbolEnd(Record)) - return EC; - - uint32_t RecordEnd = Writer.getOffset(); - uint16_t Length = RecordEnd - 2; - Writer.setOffset(0); - if (auto EC = Writer.writeInteger(Length)) - return EC; - - uint8_t *StableStorage = Storage.Allocate<uint8_t>(RecordEnd); - ::memcpy(StableStorage, &RecordBuffer[0], RecordEnd); - Record.RecordData = ArrayRef<uint8_t>(StableStorage, RecordEnd); - CurrentSymbol.reset(); - - return Error::success(); -} |
