diff --git a/p99/p99_clib.h b/p99/p99_clib.h index effb306ca13351ac3cfae541744489a6ed2bbb77..ea275d042a5b6a3061b196b3c07fc4b74252189d 100644 --- a/p99/p99_clib.h +++ b/p99/p99_clib.h @@ -56,7 +56,7 @@ void *aligned_alloc(size_t p00_alignment, size_t p00_size) { /* In both cases this is guaranteed to do the correct initialization. */ P99_WEAK(p00_cb) -p99_callback_stack p00_at_quick_exit; +p99_callback_stack p00_at_quick_exit = P99_LIFO_INITIALIZER(0); /** ** @brief registers the function pointed to by @a p00_void_func, to be called diff --git a/p99/p99_lifo.h b/p99/p99_lifo.h index 642843467a1b47120e7a9066e9a1318dde39f19b..63251eafbb16f46e77877091b5f3b2be15995677 100644 --- a/p99/p99_lifo.h +++ b/p99/p99_lifo.h @@ -32,7 +32,7 @@ # define P99_LIFO_DECLARE(T) \ typedef T P99_PASTE2(p00_lifo_, T); \ P99_DECLARE_ATOMIC(P99_PASTE2(p00_lifo_, T)) - +# define P99_LIFO_INITIALIZER(VAL) ATOMIC_VAR_INIT((void*)VAL) /** ** @brief Return a pointer to the top element of an atomic LIFO @a L @@ -134,6 +134,7 @@ P00_DOCUMENT_PERMITTED_ARGUMENT(P99_LIFO_CLEAR, 0) # define P99_LIFO(T) P99_PASTE2(p00_lifo_, T) # define P99_LIFO_DECLARE(T) typedef T P99_LIFO(T) +# define P99_LIFO_INITIALIZER(VAL) ((void*)VAL) #define P99_LIFO_TOP(L) (*(L))