diff options
Diffstat (limited to 'libc/inc/assert.h')
-rw-r--r-- | libc/inc/assert.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libc/inc/assert.h b/libc/inc/assert.h index 91c4ccd..a553444 100644 --- a/libc/inc/assert.h +++ b/libc/inc/assert.h @@ -5,10 +5,21 @@ #include <print.h> +#ifdef kernel #define assert(exp) \ if (!(exp)) { \ printf("%s:%d: %s: Assertion '%s' failed\n", __FILE__, __LINE__, __func__, #exp); \ __asm__ volatile("cli\nhlt"); \ } +#elif defined(userspace) +#include <sys.h> +#define assert(exp) \ + if (!(exp)) { \ + printf("%s:%d: %s: Assertion '%s' failed\n", __FILE__, __LINE__, __func__, #exp); \ + sys0(SYS_LOOP); \ + } +#else +#error "No lib target specified. Please use -Dkernel or -Duserspace" +#endif #endif |