OBJS=${SRCS:src/%.c=${BUILDDIR}/%.o}
-CFLAGS=-Wall -Wextra -Werror -pthread -std=gnu23
+CFLAGS=-Wall -Wextra -Werror -pthread -std=gnu17
# IMPORTANT: We use this to properly keep track of stack frames at a source level
CFLAGS += -finstrument-functions
CFLAGS += -g
/* By: agilliar <agilliar@student.42mulhouse.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2026/05/10 22:08:53 by agilliar #+# #+# */
-/* Updated: 2026/05/14 14:57:08 by agilliar ### ########.fr */
+/* Updated: 2026/05/14 15:51:02 by agilliar ### ########.fr */
/* */
/* ************************************************************************** */
if (defer_store()->stacktrack_pos != stacktrack_pos())
{
- prev = cera_alloca_align(sizeof(t_defer_frame), alignof(t_defer_frame));
+ prev = cera_alloca_align(sizeof(t_defer_frame),
+ __alignof__(t_defer_frame));
curr = defer_store();
*prev = *curr;
curr->ret_ptr = stacktrack_put(&defer_pop);
{
t_defer *curr;
- curr = cera_alloca_align(sizeof(t_defer), alignof(t_defer));
+ curr = cera_alloca_align(sizeof(t_defer), __alignof__(t_defer));
defer_patch();
curr->prev = defer_store()->frame;
curr->f = f;
{
t_defer *curr;
- curr = cera_alloca_align(sizeof(t_defer), alignof(t_defer));
+ curr = cera_alloca_align(sizeof(t_defer), __alignof__(t_defer));
defer_patch();
curr->prev = defer_store()->frame;
curr->f = f;
/* By: agilliar <agilliar@student.42mulhouse.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2026/05/11 19:17:56 by agilliar #+# #+# */
-/* Updated: 2026/05/14 14:53:22 by agilliar ### ########.fr */
+/* Updated: 2026/05/14 15:50:04 by agilliar ### ########.fr */
/* */
/* ************************************************************************** */
ret = stacktrack_put(&framealloc_pop);
prev_frame = store->frame;
frame_p = cera_alloca_align_nopatch(sizeof(t_framealloc_frame),
- alignof(t_framealloc_frame));
+ __alignof__(t_framealloc_frame));
*frame_p = prev_frame;
store->frame.prev = frame_p;
store->frame.ret_ptr = ret;
/* By: agilliar <agilliar@student.42mulhouse.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2026/05/10 22:11:10 by agilliar #+# #+# */
-/* Updated: 2026/05/14 15:09:11 by agilliar ### ########.fr */
+/* Updated: 2026/05/14 15:50:16 by agilliar ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef PANIC_H
# define PANIC_H
+# include <stdbool.h>
# include "jmp.h"
typedef struct s_panic_info