summaryrefslogtreecommitdiffstats
path: root/llvm/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests')
-rw-r--r--llvm/unittests/DebugInfo/DWARF/CMakeLists.txt1
-rw-r--r--llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp118
2 files changed, 0 insertions, 119 deletions
diff --git a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
index 4fb79b2a96e..2181e0543d0 100644
--- a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
+++ b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt
@@ -13,7 +13,6 @@ add_llvm_unittest(DebugInfoDWARFTests
DwarfUtils.cpp
DWARFDebugInfoTest.cpp
DWARFDebugLineTest.cpp
- DWARFDieTest.cpp
DWARFFormValueTest.cpp
DWARFLocationExpressionTest.cpp
)
diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
deleted file mode 100644
index 6296f872433..00000000000
--- a/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-//===- llvm/unittest/DebugInfo/DWARFDieTest.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/BinaryFormat/Dwarf.h"
-#include "llvm/DebugInfo/DWARF/DWARFContext.h"
-#include "llvm/ObjectYAML/DWARFEmitter.h"
-#include "llvm/Testing/Support/Error.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-using namespace llvm::dwarf;
-using object::SectionedAddress;
-
-namespace {
-
-TEST(DWARFLocationTable, getLocations) {
- const char *yamldata = R"(
- debug_abbrev:
- - Code: 0x00000001
- Tag: DW_TAG_compile_unit
- Children: DW_CHILDREN_no
- Attributes:
- - Attribute: DW_AT_location
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_data_member_location
- Form: DW_FORM_exprloc
- - Attribute: DW_AT_vtable_elem_location
- Form: DW_FORM_sec_offset
- - Attribute: DW_AT_call_data_location
- Form: DW_FORM_sec_offset
- debug_info:
- - Length:
- TotalLength: 0
- Version: 5
- UnitType: DW_UT_compile
- AbbrOffset: 0
- AddrSize: 4
- Entries:
- - AbbrCode: 0x00000001
- Values:
- - Value: 12
- - Value: 0x0000000000000001
- BlockData: [ 0x47 ]
- - Value: 20
- - Value: 25
- )";
- Expected<StringMap<std::unique_ptr<MemoryBuffer>>> Sections =
- DWARFYAML::EmitDebugSections(StringRef(yamldata),
- /*IsLittleEndian=*/true);
- ASSERT_THAT_EXPECTED(Sections, Succeeded());
- std::vector<uint8_t> Loclists{
- // Header
- 0, 0, 0, 0, // Length
- 5, 0, // Version
- 4, // Address size
- 0, // Segment selector size
- 0, 0, 0, 0, // Offset entry count
- // First location list.
- DW_LLE_start_length, // First entry
- 1, 0, 0, 0, // Start offset
- 2, // Length
- 0, // Expression length
- DW_LLE_end_of_list,
- // Second location list.
- DW_LLE_startx_length, // First entry
- 1, // Start index
- 2, // Length
- 0, // Expression length
- DW_LLE_end_of_list,
- // Third location list.
- DW_LLE_start_length, // First entry
- 1, 0, 0, 0, // Start offset
- 2, // Length
- 0, // Expression length
- // end_of_list intentionally missing
- };
- Loclists[0] = Loclists.size() - 4;
- Sections->try_emplace(
- "debug_loclists",
- MemoryBuffer::getMemBuffer(toStringRef(Loclists), "debug_loclists",
- /*RequiresNullTerminator=*/false));
- std::unique_ptr<DWARFContext> Ctx =
- DWARFContext::create(*Sections, 4, /*isLittleEndian=*/true);
- DWARFCompileUnit *CU = Ctx->getCompileUnitForOffset(0);
- ASSERT_NE(nullptr, CU);
- DWARFDie Die = CU->getUnitDIE();
- ASSERT_TRUE(Die.isValid());
-
- EXPECT_THAT_EXPECTED(Die.getLocations(DW_AT_location),
- HasValue(testing::ElementsAre(DWARFLocationExpression{
- DWARFAddressRange{1, 3}, {}})));
-
- EXPECT_THAT_EXPECTED(
- Die.getLocations(DW_AT_data_member_location),
- HasValue(testing::ElementsAre(DWARFLocationExpression{None, {0x47}})));
-
- EXPECT_THAT_EXPECTED(
- Die.getLocations(DW_AT_vtable_elem_location),
- Failed<ErrorInfoBase>(testing::Property(
- &ErrorInfoBase::message,
- "Unable to resolve indirect address 1 for: DW_LLE_startx_length")));
-
- EXPECT_THAT_EXPECTED(Die.getLocations(DW_AT_call_data_location),
- Failed<ErrorInfoBase>(testing::Property(
- &ErrorInfoBase::message, "unexpected end of data")));
-
- EXPECT_THAT_EXPECTED(
- Die.getLocations(DW_AT_call_data_value),
- Failed<ErrorInfoBase>(testing::Property(&ErrorInfoBase::message,
- "No DW_AT_call_data_value")));
-}
-
-} // end anonymous namespace
OpenPOWER on IntegriCloud