25 #include "pips_config.h"
81 pips_assert(
"unregister a function already registered",
void gen_remove_once(list *pl, const void *o)
Remove the first occurence of o in list pl:
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
void gen_free_list(list l)
free the spine of the list
bool gen_in_list_p(const void *vo, const list lx)
tell whether vo belongs to lx
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
void(* reset_func_t)(void)
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
static list reset_hooks
reset functions to call on exceptions to be used by pipsmake?
void reset_hooks_is_empty(void)
check that the stack was cleaned.
void reset_hooks_call(void)
this function is expected to be called when catching an exception.
void reset_hooks_register(reset_func_t function)
add function to be called for cleanup if an exception is raised.
void reset_hooks_unregister(reset_func_t function)
remove registered cleanup hook.
The structure used to build lists in NewGen.