1 |
#include "autoconf.h" |
2 |
|
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) |