From: Simon Marchi Date: Fri, 23 May 2025 18:35:28 +0000 (-0400) Subject: gdb: turn CHECK_ADDRMAP_FIND into a function X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=265cdb307faf1ce47b01b59a2e228d742d85ab9b;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/gdb/addrmap.c b/gdb/addrmap.c index c625973ec2f..929713573be 100644 --- a/gdb/addrmap.c +++ b/gdb/addrmap.c @@ -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 */