summaryrefslogtreecommitdiff
path: root/kernel/libc/include/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/libc/include/assert.h')
-rw-r--r--kernel/libc/include/assert.h8
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) \