|
|
1 | #include "autoconf.h" |
|
|
2 | |
1 | #define GCC_VERSION(major,minor) (__GNUC__ > (major) || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))) |
3 | #define GCC_VERSION(major,minor) (__GNUC__ > (major) || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))) |
|
|
4 | |
|
|
5 | #include "adt/foreach.h" |
|
|
6 | #include "adt/nullptr.h" |
|
|
7 | #include "adt/logs.h" |
|
|
8 | |
|
|
9 | void log_failure (char const *file, int line, char const *func, char const *cond); |
|
|
10 | |
|
|
11 | #define LOC __FILE__, __LINE__, __func__ |
|
|
12 | |
|
|
13 | #define return_unless(cond) \ |
|
|
14 | do { \ |
|
|
15 | if (!(cond)) \ |
|
|
16 | { log_failure (LOC, #cond); \ |
|
|
17 | return; } \ |
|
|
18 | } while (0) |
|
|
19 | |
|
|
20 | #define return_val_unless(cond, val) \ |
|
|
21 | do { \ |
|
|
22 | if (!(cond)) \ |
|
|
23 | { log_failure (LOC, #cond); \ |
|
|
24 | return val; } \ |
|
|
25 | } while (0) |