static void test_basic_struct () { root_test_struct = ggc_cleared_alloc <test_struct> (); root_test_struct->other = ggc_cleared_alloc <test_struct> (); selftest::forcibly_ggc_collect (); ASSERT_TRUE (ggc_marked_p (root_test_struct)); ASSERT_TRUE (ggc_marked_p (root_test_struct->other)); }
static void test_length () { const int count = 5; size_t sz = sizeof (test_of_length) + (count- 1) * sizeof (test_of_length *); root_test_of_length = (test_of_length *)ggc_internal_cleared_alloc (sz); root_test_of_length->num_elem = count; for (int i = 0; i < count; i++) root_test_of_length->elem[i] = ggc_cleared_alloc <test_of_length> (); selftest::forcibly_ggc_collect (); ASSERT_TRUE (ggc_marked_p (root_test_of_length)); for (int i = 0; i < count; i++) ASSERT_TRUE (ggc_marked_p (root_test_of_length->elem[i])); }
static int lto_symtab_entry_marked_p (const void *p) { const struct lto_symtab_entry_def *base = (const struct lto_symtab_entry_def *) p; /* Keep this only if the common IDENTIFIER_NODE of the symtab chain is marked which it will be if at least one of the DECLs in the chain is marked. */ return ggc_marked_p (base->id); }