diff options
author | Tom Tromey <tom@tromey.com> | 2022-06-12 15:53:40 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-06-12 15:55:36 -0600 |
commit | aa09537375eb92448b2ba4ac5af5abac06c54cfc (patch) | |
tree | 282b956d835e99bd039295c35378284ca8fd4b6f /gdb | |
parent | 32681b482a3a38e240100ddd00280a3db5716874 (diff) | |
download | gdb-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.c | 10 |
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 |