aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2022-06-12 15:53:40 -0600
committerTom Tromey <tom@tromey.com>2022-06-12 15:55:36 -0600
commitaa09537375eb92448b2ba4ac5af5abac06c54cfc (patch)
tree282b956d835e99bd039295c35378284ca8fd4b6f /gdb
parent32681b482a3a38e240100ddd00280a3db5716874 (diff)
downloadgdb-aa09537375eb92448b2ba4ac5af5abac06c54cfc.zip
gdb-aa09537375eb92448b2ba4ac5af5abac06c54cfc.tar.gz
gdb-aa09537375eb92448b2ba4ac5af5abac06c54cfc.tar.bz2
Fix self-test failure in addrmap
Mark pointed out that my recent addrmap C++-ficiation changes caused a regression in the self-tests. This patch fixes the problem by updating this test not to allocate the mutable addrmap on an obstack.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/addrmap.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gdb/addrmap.c b/gdb/addrmap.c
index 06f3a83..8c357fb 100644
--- a/gdb/addrmap.c
+++ b/gdb/addrmap.c
@@ -429,9 +429,8 @@ test_addrmap ()
void *val2 = &array[2];
/* Create mutable addrmap. */
- struct obstack temp_obstack;
- obstack_init (&temp_obstack);
- struct addrmap_mutable *map = new (&temp_obstack) addrmap_mutable;
+ auto_obstack temp_obstack;
+ std::unique_ptr<struct addrmap_mutable> map (new addrmap_mutable);
SELF_CHECK (map != nullptr);
/* Check initial state. */
@@ -445,7 +444,7 @@ test_addrmap ()
/* Create corresponding fixed addrmap. */
struct addrmap *map2
- = new (&temp_obstack) addrmap_fixed (&temp_obstack, map);
+ = 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);
@@ -479,9 +478,6 @@ test_addrmap ()
CHECK_ADDRMAP_FIND (map, array, 10, 12, val1);
CHECK_ADDRMAP_FIND (map, array, 13, 13, val2);
CHECK_ADDRMAP_FIND (map, array, 14, 19, nullptr);
-
- /* Cleanup. */
- obstack_free (&temp_obstack, NULL);
}
} // namespace selftests