0697b33e5697882f96d23a34bcb4a12b790a1a4b
[lunaix-os.git] / lunaix-os / includes / lunaix / assert.h
1 #ifndef __LUNAIX_ASSERT_H
2 #define __LUNAIX_ASSERT_H
3
4 #include <libc/stdio.h>
5 #include <lunaix/tty/tty.h>
6
7 #ifdef __LUNAIXOS_DEBUG__
8 #define assert(cond)                                  \
9     if (!(cond)) {                                    \
10         __assert_fail(#cond, __FILE__, __LINE__);     \
11     }
12 #else
13 #define assert(cond) //nothing
14 #endif
15
16
17 void __assert_fail(const char* expr, const char* file, unsigned int line) __attribute__((noinline, noreturn));
18
19 #endif /* __LUNAIX_ASSERT_H */