#include "util.h" #include "gc.h" #include "platform.h" #include #include noreturn void assume__failed(const char *file, int line, const char *expr) { panic_begin(); fprintf(stderr, "%s:%d: assertion failed: %s\n\n", file, line, expr); gc_debug(); panic_end(); } noreturn void todo__impl(const char *file, int line, const char *fmt, ...) { panic_begin(); printf("%s:%d: TODO: ", file, line); va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); printf("\n"); gc_debug(); panic_end(); } noreturn void unreachable__impl(const char *file, int line, const char *fmt, ...) { panic_begin(); printf("%s:%d: unreachable code entered: ", file, line); va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); printf("\n"); gc_debug(); panic_end(); }