Rizin
unix-like reverse engineering framework and cli tools
assert.h
Go to the documentation of this file.
1 /*
2  * Define a custom assert() in order to reduce the chances of deadlock during
3  * assertion failure.
4  */
5 #ifndef assert
6 #define assert(e) do { \
7  if (unlikely(config_debug && !(e))) { \
8  eprintf( \
9  "<jemalloc>: %s:%d: Failed assertion: \"%s\"\n", \
10  __FILE__, __LINE__, #e); \
11  abort(); \
12  } \
13 } while (0)
14 #endif
15 
16 #ifndef not_reached
17 #define not_reached() do { \
18  if (config_debug) { \
19  eprintf( \
20  "<jemalloc>: %s:%d: Unreachable code reached\n", \
21  __FILE__, __LINE__); \
22  abort(); \
23  } \
24  unreachable(); \
25 } while (0)
26 #endif
27 
28 #ifndef not_implemented
29 #define not_implemented() do { \
30  if (config_debug) { \
31  eprintf("<jemalloc>: %s:%d: Not implemented\n", \
32  __FILE__, __LINE__); \
33  abort(); \
34  } \
35 } while (0)
36 #endif
37 
38 #ifndef assert_not_implemented
39 #define assert_not_implemented(e) do { \
40  if (unlikely(config_debug && !(e))) \
41  not_implemented(); \
42 } while (0)
43 #endif
44 
45