Merge "Remove CHECK in AdjustEncodedValue."
This commit is contained in:
commit
d76bd4c8d0
2 changed files with 23 additions and 1 deletions
|
@ -104,7 +104,6 @@ size_t DwarfMemory::GetEncodedSize(uint8_t encoding) {
|
|||
|
||||
bool DwarfMemory::AdjustEncodedValue(uint8_t encoding, uint64_t* value) {
|
||||
CHECK((encoding & 0x0f) == 0);
|
||||
CHECK(encoding != DW_EH_PE_aligned);
|
||||
|
||||
// Handle the encoding.
|
||||
switch (encoding) {
|
||||
|
|
|
@ -54,6 +54,8 @@ class DwarfMemoryTest : public ::testing::Test {
|
|||
void ReadEncodedValue_overflow();
|
||||
template <typename AddressType>
|
||||
void ReadEncodedValue_high_bit_set();
|
||||
template <typename AddressType>
|
||||
void ReadEncodedValue_all();
|
||||
|
||||
MemoryFake memory_;
|
||||
std::unique_ptr<DwarfMemory> dwarf_mem_;
|
||||
|
@ -457,6 +459,27 @@ TEST_F(DwarfMemoryTest, ReadEncodedValue_high_bit_set_uint64_t) {
|
|||
ReadEncodedValue_high_bit_set<uint64_t>();
|
||||
}
|
||||
|
||||
template <typename AddressType>
|
||||
void DwarfMemoryTest::ReadEncodedValue_all() {
|
||||
MemoryFakeAlwaysReadZero memory;
|
||||
DwarfMemory dwarf_mem(&memory);
|
||||
|
||||
for (size_t i = 0; i <= 0xff; i++) {
|
||||
uint64_t value;
|
||||
if (dwarf_mem.ReadEncodedValue<AddressType>(static_cast<uint8_t>(i), &value)) {
|
||||
ASSERT_EQ(0U, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(DwarfMemoryTest, ReadEncodedValue_all_uint32_t) {
|
||||
ReadEncodedValue_all<uint32_t>();
|
||||
}
|
||||
|
||||
TEST_F(DwarfMemoryTest, ReadEncodedValue_all_uint64_t) {
|
||||
ReadEncodedValue_all<uint64_t>();
|
||||
}
|
||||
|
||||
TEST_F(DwarfMemoryTest, AdjustEncodedValue_absptr) {
|
||||
uint64_t value = 0x1234;
|
||||
ASSERT_TRUE(dwarf_mem_->AdjustEncodedValue(0x00, &value));
|
||||
|
|
Loading…
Reference in a new issue