mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-18 10:32:48 +02:00
Add operator<< for object::SectionedAddress
The main motivation for this is better failure messages in unit tests. Split off from D70394.
This commit is contained in:
parent
151a0b69c7
commit
53a4d76970
@ -155,6 +155,8 @@ inline bool operator==(const SectionedAddress &LHS,
|
|||||||
std::tie(RHS.SectionIndex, RHS.Address);
|
std::tie(RHS.SectionIndex, RHS.Address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
raw_ostream &operator<<(raw_ostream &OS, const SectionedAddress &Addr);
|
||||||
|
|
||||||
/// This is a value type class that represents a single symbol in the list of
|
/// This is a value type class that represents a single symbol in the list of
|
||||||
/// symbols in the object file.
|
/// symbols in the object file.
|
||||||
class SymbolRef : public BasicSymbolRef {
|
class SymbolRef : public BasicSymbolRef {
|
||||||
|
@ -32,6 +32,13 @@
|
|||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
using namespace object;
|
using namespace object;
|
||||||
|
|
||||||
|
raw_ostream &object::operator<<(raw_ostream &OS, const SectionedAddress &Addr) {
|
||||||
|
OS << "SectionedAddress{" << format_hex(Addr.Address, 10);
|
||||||
|
if (Addr.SectionIndex != SectionedAddress::UndefSection)
|
||||||
|
OS << ", " << Addr.SectionIndex;
|
||||||
|
return OS << "}";
|
||||||
|
}
|
||||||
|
|
||||||
void ObjectFile::anchor() {}
|
void ObjectFile::anchor() {}
|
||||||
|
|
||||||
ObjectFile::ObjectFile(unsigned int Type, MemoryBufferRef Source)
|
ObjectFile::ObjectFile(unsigned int Type, MemoryBufferRef Source)
|
||||||
|
@ -5,6 +5,7 @@ set(LLVM_LINK_COMPONENTS
|
|||||||
|
|
||||||
add_llvm_unittest(ObjectTests
|
add_llvm_unittest(ObjectTests
|
||||||
MinidumpTest.cpp
|
MinidumpTest.cpp
|
||||||
|
ObjectFileTest.cpp
|
||||||
SymbolSizeTest.cpp
|
SymbolSizeTest.cpp
|
||||||
SymbolicFileTest.cpp
|
SymbolicFileTest.cpp
|
||||||
)
|
)
|
||||||
|
20
unittests/Object/ObjectFileTest.cpp
Normal file
20
unittests/Object/ObjectFileTest.cpp
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
//===- ObjectFileTest.cpp - Tests for ObjectFile.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/Object/ObjectFile.h"
|
||||||
|
#include "llvm/Support/ScopedPrinter.h"
|
||||||
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
|
using namespace llvm;
|
||||||
|
using namespace llvm::object;
|
||||||
|
|
||||||
|
TEST(SectionedAddress, StreamingOperator) {
|
||||||
|
EXPECT_EQ("SectionedAddress{0x00000047}", to_string(SectionedAddress{0x47}));
|
||||||
|
EXPECT_EQ("SectionedAddress{0x00000047, 42}",
|
||||||
|
to_string(SectionedAddress{0x47, 42}));
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user