summaryrefslogtreecommitdiff
path: root/include/panic.h
blob: 4f8592e8dbd3c441f742be9d8c76786934c2c337 (plain)
1
2
3
4
5
6
7
8
9
10
#pragma once

#define _PANIC_STR(x) _PANIC_STR2(x)
#define _PANIC_STR2(x) #x

#define panic(msg) _panic_impl(_PANIC_STR(__LINE__), __FILE__, msg)

_Noreturn void _panic_impl(char *line, char *file, char *msg);

_Noreturn void panic_interrupt(void *ip, void *bp, char *msg);