]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/lib/minilibc/include/assert.h
Update
[l4.git] / kernel / fiasco / src / lib / minilibc / include / assert.h
1 #ifndef _ASSERT_H
2 #define _ASSERT_H
3
4 #include <cdefs.h>
5
6 #ifdef NDEBUG
7 # define assert(expr) do { } while (0)
8 # define check(expr)  (void)(expr)
9 #else
10 # include <stdio.h>
11
12 __BEGIN_DECLS
13 void
14 assert_fail(char const *expr_msg, char const *file, unsigned int line);
15 __END_DECLS
16
17 # define assert(expression) \
18     do \
19       if (__builtin_expect(!(expression), 0)) \
20         assert_fail(#expression, __FILE__, __LINE__); \
21     while (0)
22 # define check(expr) assert(expr)
23 #endif
24
25 #endif