summaryrefslogtreecommitdiff
path: root/include/panic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/panic.h')
-rw-r--r--include/panic.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/panic.h b/include/panic.h
index dc96da1..d7f612c 100644
--- a/include/panic.h
+++ b/include/panic.h
@@ -3,9 +3,11 @@
#define _PANIC_STR(x) _PANIC_STR2(x)
#define _PANIC_STR2(x) #x
-#define panic(msg) _panic_impl(_PANIC_STR(__LINE__), __FILE__, msg)
-#define kassert(val, msg) do { if (!(val)) { panic(msg); } } while(0)
+#define panic(msg, ...) _panic_impl(_PANIC_STR(__LINE__), __FILE__, msg, ## __VA_ARGS__)
+#define kassert(val, msg, ...) do { if (!(val)) { panic(msg, ## __VA_ARGS__); } } while(0)
-_Noreturn void _panic_impl(char *line, char *file, char *msg);
+__attribute__((noreturn,format(printf, 3, 4)))
+void _panic_impl(char *line, char *file, char *msg, ...);
-_Noreturn void panic_interrupt(void *ip, void *bp, char *msg);
+__attribute__((noreturn,format(printf, 3, 4)))
+void _panic_interrupt(void *ip, void *bp, char *msg, ...);