ipa-modref-tree.c: fix selftest leaks
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 22 Oct 2020 10:44:27 +0000 (06:44 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Thu, 22 Oct 2020 10:44:27 +0000 (06:44 -0400)
"make selftest-valgrind" was reporting:

40 bytes in 1 blocks are definitely lost in loss record 25 of 735
   at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344)
   by 0xFA0CEA: selftest::test_insert_search_collapse() (ipa-modref-tree.c:40)
   by 0xFA2F9B: selftest::ipa_modref_tree_c_tests() (ipa-modref-tree.c:164)
   by 0x256E3AB: selftest::run_tests() (selftest-run-tests.c:93)
   by 0x1366A8B: toplev::run_self_tests() (toplev.c:2385)
   by 0x1366C47: toplev::main(int, char**) (toplev.c:2467)
   by 0x263203F: main (main.c:39)

40 bytes in 1 blocks are definitely lost in loss record 26 of 735
   at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344)
   by 0xFA264A: selftest::test_merge() (ipa-modref-tree.c:123)
   by 0xFA2FA0: selftest::ipa_modref_tree_c_tests() (ipa-modref-tree.c:165)
   by 0x256E3AB: selftest::run_tests() (selftest-run-tests.c:93)
   by 0x1366A8B: toplev::run_self_tests() (toplev.c:2385)
   by 0x1366C47: toplev::main(int, char**) (toplev.c:2467)
   by 0x263203F: main (main.c:39)

40 bytes in 1 blocks are definitely lost in loss record 27 of 735
   at 0x483AE7D: operator new(unsigned long) (vg_replace_malloc.c:344)
   by 0xFA279E: selftest::test_merge() (ipa-modref-tree.c:130)
   by 0xFA2FA0: selftest::ipa_modref_tree_c_tests() (ipa-modref-tree.c:165)
   by 0x256E3AB: selftest::run_tests() (selftest-run-tests.c:93)
   by 0x1366A8B: toplev::run_self_tests() (toplev.c:2385)
   by 0x1366C47: toplev::main(int, char**) (toplev.c:2467)
   by 0x263203F: main (main.c:39)

With this patch, the output is clean.

gcc/ChangeLog:
* ipa-modref-tree.c (selftest::test_insert_search_collapse): Fix
leak.
(selftest::test_merge): Fix leaks.

gcc/ipa-modref-tree.c

index 1a595090b6c70fbc0d28aa5874e13276abdb1089..94c68cc4969dca07e1d7679ae3a3e72ae6f6f55a 100644 (file)
@@ -111,6 +111,8 @@ test_insert_search_collapse ()
   ASSERT_TRUE (t->every_base);
   ASSERT_EQ (t->bases, NULL);
   ASSERT_EQ (t->search (1), NULL);
+
+  delete t;
 }
 
 static void
@@ -155,6 +157,9 @@ test_merge ()
   base_node = t1->search (3);
   ASSERT_EQ (base_node->refs, NULL);
   ASSERT_TRUE (base_node->every_ref);
+
+  delete t1;
+  delete t2;
 }