3 #include <gc.h> // IWYU pragma: export
4 #include <signal.h> // IWYU pragma: export
5 #include <stdio.h> // IWYU pragma: export
7 #include "./stdlib/print.h" // IWYU pragma: export
8 #include "./stdlib/stacktrace.h" // IWYU pragma: export
9 #include "./stdlib/util.h" // IWYU pragma: export
10 #include "stdlib/stdlib.h" // IWYU pragma: export
12 #define new(t, ...) ((t *)memcpy(GC_MALLOC(sizeof(t)), &(t){__VA_ARGS__}, sizeof(t)))
18 if (USE_COLOR) fputs("\x1b[91;7;1m Runtime Error \033[m\n\n", stderr); \
19 else fputs("Runtime Error\n\n", stderr); \
20 print_stacktrace(stderr, 1); \
21 if (USE_COLOR) fputs("\n\x1b[91;1m", stderr); \
22 else fputs("\n", stderr); \
23 fprint_inline(stderr, "Error: ", __VA_ARGS__); \
24 if (USE_COLOR) fputs("\x1b[m\n", stderr); \
25 else fputs("\n", stderr); \