ve_nofree (_list_iterator *ip) { gcc_assert (!ip->removed_p && ip->can_remove_p); _list_remove_nofree (ip->lp); ip->removed_p = true; } /* General macros to traverse a list. FOR_EACH_* interfaces are implemented using these. */ #define _FOR_EACH(TYPE, ELEM, I, L) \ for (_list_iter_start (&(I), &(L), false); \ _list_iter_cond_##TYPE (*(I).lp, &(ELEM)); \ _list_iter_next (&(I))) #define _FOR_EACH_1(TYPE, ELEM, I, LP) \ for (_list_iter_start (&(I), (LP), true); \ _list_iter_cond_##TYPE (*(I).lp, &(ELEM)); \ _list_iter_next (&(I)))