mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
gdb: turn CHECK_ADDRMAP_FIND into a function
Replace the macro with a function. I don't see a need to use a macro here, a function is easier to read. Change-Id: I22370040cb546470498d64939b246b03700af398 Approved-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
committed by
Simon Marchi
parent
e64cd55419
commit
265cdb307f
@@ -398,20 +398,20 @@ namespace selftests {
|
||||
/* Convert P to CORE_ADDR. */
|
||||
|
||||
static CORE_ADDR
|
||||
core_addr (void *p)
|
||||
core_addr (const void *p)
|
||||
{
|
||||
return (CORE_ADDR)(uintptr_t)p;
|
||||
return (CORE_ADDR) (uintptr_t) p;
|
||||
}
|
||||
|
||||
/* Check that &ARRAY[LOW]..&ARRAY[HIGH] has VAL in MAP. */
|
||||
|
||||
#define CHECK_ADDRMAP_FIND(MAP, ARRAY, LOW, HIGH, VAL) \
|
||||
do \
|
||||
{ \
|
||||
for (unsigned i = LOW; i <= HIGH; ++i) \
|
||||
SELF_CHECK (MAP->find (core_addr (&ARRAY[i])) == VAL); \
|
||||
} \
|
||||
while (0)
|
||||
static void
|
||||
check_addrmap_find (const addrmap &map, const char *array, unsigned int low,
|
||||
unsigned int high, const void *val)
|
||||
{
|
||||
for (unsigned int i = low; i <= high; ++i)
|
||||
SELF_CHECK (map.find (core_addr (&array[i])) == val);
|
||||
}
|
||||
|
||||
/* Entry point for addrmap unit tests. */
|
||||
|
||||
@@ -431,21 +431,21 @@ test_addrmap ()
|
||||
SELF_CHECK (map != nullptr);
|
||||
|
||||
/* Check initial state. */
|
||||
CHECK_ADDRMAP_FIND (map, array, 0, 19, nullptr);
|
||||
check_addrmap_find (*map, array, 0, 19, nullptr);
|
||||
|
||||
/* Insert address range into mutable addrmap. */
|
||||
map->set_empty (core_addr (&array[10]), core_addr (&array[12]), val1);
|
||||
CHECK_ADDRMAP_FIND (map, array, 0, 9, nullptr);
|
||||
CHECK_ADDRMAP_FIND (map, array, 10, 12, val1);
|
||||
CHECK_ADDRMAP_FIND (map, array, 13, 19, nullptr);
|
||||
check_addrmap_find (*map, array, 0, 9, nullptr);
|
||||
check_addrmap_find (*map, array, 10, 12, val1);
|
||||
check_addrmap_find (*map, array, 13, 19, nullptr);
|
||||
|
||||
/* Create corresponding fixed addrmap. */
|
||||
addrmap_fixed *map2
|
||||
= new (&temp_obstack) addrmap_fixed (&temp_obstack, map.get ());
|
||||
SELF_CHECK (map2 != nullptr);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 0, 9, nullptr);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 10, 12, val1);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 13, 19, nullptr);
|
||||
check_addrmap_find (*map2, array, 0, 9, nullptr);
|
||||
check_addrmap_find (*map2, array, 10, 12, val1);
|
||||
check_addrmap_find (*map2, array, 13, 19, nullptr);
|
||||
|
||||
/* Iterate over both addrmaps. */
|
||||
auto callback = [&] (CORE_ADDR start_addr, void *obj)
|
||||
@@ -465,16 +465,16 @@ test_addrmap ()
|
||||
|
||||
/* Relocate fixed addrmap. */
|
||||
map2->relocate (1);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 0, 10, nullptr);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 11, 13, val1);
|
||||
CHECK_ADDRMAP_FIND (map2, array, 14, 19, nullptr);
|
||||
check_addrmap_find (*map2, array, 0, 10, nullptr);
|
||||
check_addrmap_find (*map2, array, 11, 13, val1);
|
||||
check_addrmap_find (*map2, array, 14, 19, nullptr);
|
||||
|
||||
/* Insert partially overlapping address range into mutable addrmap. */
|
||||
map->set_empty (core_addr (&array[11]), core_addr (&array[13]), val2);
|
||||
CHECK_ADDRMAP_FIND (map, array, 0, 9, nullptr);
|
||||
CHECK_ADDRMAP_FIND (map, array, 10, 12, val1);
|
||||
CHECK_ADDRMAP_FIND (map, array, 13, 13, val2);
|
||||
CHECK_ADDRMAP_FIND (map, array, 14, 19, nullptr);
|
||||
check_addrmap_find (*map, array, 0, 9, nullptr);
|
||||
check_addrmap_find (*map, array, 10, 12, val1);
|
||||
check_addrmap_find (*map, array, 13, 13, val2);
|
||||
check_addrmap_find (*map, array, 14, 19, nullptr);
|
||||
}
|
||||
|
||||
} /* namespace selftests */
|
||||
|
||||
Reference in New Issue
Block a user