1 
2 #ifndef __ASSERT_H__
3 #define __ASSERT_H__
4 
5 #ifndef NDEBUG
6 
7 #define assert(_expr) \
8     if (!(_expr)) { \
9 	__assert(__func__, __FILE__, __LINE__, #_expr); \
10     }
11 
12 #else
13 
14 #define assert(_expr)
15 
16 #endif
17 
18 void __assert(const char *func, const char *file, int line, const char *expr);
19 
20 #endif /* __ASSERT_H__ */
21 
22