[binutils-gdb] gdb: turn CHECK_ADDRMAP_FIND into a function

Simon Marchi simark@sourceware.org
Sat May 24 14:07:07 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=265cdb307faf1ce47b01b59a2e228d742d85ab9b

commit 265cdb307faf1ce47b01b59a2e228d742d85ab9b
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Fri May 23 14:35:28 2025 -0400

    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>

Diff:
---
 gdb/addrmap.c | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

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 */


More information about the Gdb-cvs mailing list