diff options
Diffstat (limited to 'kernel/libc/include/assert.h')
-rw-r--r-- | kernel/libc/include/assert.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/libc/include/assert.h b/kernel/libc/include/assert.h index 90a0be4..d6525f0 100644 --- a/kernel/libc/include/assert.h +++ b/kernel/libc/include/assert.h @@ -1,10 +1,16 @@ #include <log.h> #include <stdio.h> +// This infinite loop is needed for GCC to understand that +// aFailed does not return. No clue why the attribute does +// help solve the issue. #define assert(expr) \ { \ - if (!(expr)) \ + if (!(expr)) { \ aFailed(__FILE__, __LINE__); \ + for (;;) \ + ; \ + } \ } #define ASSERT_BUT_FIXME_PROPOGATE(expr) \ |