llvm/llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp

//===- llvm/unittest/DebugInfo/DWARFExpressionRawDataTest.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/ADT/ArrayRef.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
#include "llvm/DebugInfo/DWARF/DWARFExpression.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"

usingnamespacellvm;
usingnamespacedwarf;

namespace {

/// Tests that a client of DebugInfo/DWARF is able to read raw data bytes of a
/// DWARFExpression parsed from CFI with the intent of writing them back as is
/// via MC layer / cfi_escape.
/// This is relevant for binary tools that need to rewrite/copy unwind and
/// debug info from input to output binary.
class DWARFExpressionCopyBytesTest : public ::testing::Test {};

} // namespace

DWARFExpressionCopyBytesTest::StreamerContext
DWARFExpressionCopyBytesTest::createStreamer(raw_pwrite_stream &OS) {}

SmallString<0> DWARFExpressionCopyBytesTest::emitObjFile(StringRef ExprBytes) {}

void DWARFExpressionCopyBytesTest::parseCFIsAndCheckExpression(
    const llvm::object::ObjectFile &E, ArrayRef<uint8_t> Expected) {}

void DWARFExpressionCopyBytesTest::readAndCheckObjFile(
    StringRef ObjFileData, ArrayRef<uint8_t> Expected) {}

void DWARFExpressionCopyBytesTest::testExpr(ArrayRef<uint8_t> ExprData) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_reg0) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_reg10) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_regx) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_breg0) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_breg0_large_offset) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_breg13) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_breg13_zero_offset) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_breg0_negative) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_bregx) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_stack_value) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_entry_value) {}

TEST_F(DWARFExpressionCopyBytesTest, Test_OP_entry_value_mem) {}