diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp')
| -rw-r--r-- | gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp b/gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp deleted file mode 100644 index 976bc4651ae..00000000000 --- a/gnu/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//===- DWARFDebugInfoEntry.cpp --------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h" -#include "llvm/ADT/Optional.h" -#include "llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h" -#include "llvm/DebugInfo/DWARF/DWARFFormValue.h" -#include "llvm/DebugInfo/DWARF/DWARFUnit.h" -#include "llvm/Support/DataExtractor.h" -#include <cstddef> -#include <cstdint> - -using namespace llvm; -using namespace dwarf; - -bool DWARFDebugInfoEntry::extractFast(const DWARFUnit &U, - uint32_t *OffsetPtr) { - DWARFDataExtractor DebugInfoData = U.getDebugInfoExtractor(); - const uint32_t UEndOffset = U.getNextUnitOffset(); - return extractFast(U, OffsetPtr, DebugInfoData, UEndOffset, 0); -} - -bool DWARFDebugInfoEntry::extractFast(const DWARFUnit &U, uint32_t *OffsetPtr, - const DWARFDataExtractor &DebugInfoData, - uint32_t UEndOffset, uint32_t D) { - Offset = *OffsetPtr; - Depth = D; - if (Offset >= UEndOffset || !DebugInfoData.isValidOffset(Offset)) - return false; - uint64_t AbbrCode = DebugInfoData.getULEB128(OffsetPtr); - if (0 == AbbrCode) { - // NULL debug tag entry. - AbbrevDecl = nullptr; - return true; - } - AbbrevDecl = U.getAbbreviations()->getAbbreviationDeclaration(AbbrCode); - if (nullptr == AbbrevDecl) { - // Restore the original offset. - *OffsetPtr = Offset; - return false; - } - // See if all attributes in this DIE have fixed byte sizes. If so, we can - // just add this size to the offset to skip to the next DIE. - if (Optional<size_t> FixedSize = AbbrevDecl->getFixedAttributesByteSize(U)) { - *OffsetPtr += *FixedSize; - return true; - } - - // Skip all data in the .debug_info for the attributes - for (const auto &AttrSpec : AbbrevDecl->attributes()) { - // Check if this attribute has a fixed byte size. - if (auto FixedSize = AttrSpec.getByteSize(U)) { - // Attribute byte size if fixed, just add the size to the offset. - *OffsetPtr += *FixedSize; - } else if (!DWARFFormValue::skipValue(AttrSpec.Form, DebugInfoData, - OffsetPtr, U.getFormParams())) { - // We failed to skip this attribute's value, restore the original offset - // and return the failure status. - *OffsetPtr = Offset; - return false; - } - } - return true; -} |
