diff options
Diffstat (limited to 'libguile/whippet/src/assert.h')
-rw-r--r-- | libguile/whippet/src/assert.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libguile/whippet/src/assert.h b/libguile/whippet/src/assert.h new file mode 100644 index 000000000..0c6db2f89 --- /dev/null +++ b/libguile/whippet/src/assert.h @@ -0,0 +1,16 @@ +#ifndef ASSERT_H +#define ASSERT_H + +#define STATIC_ASSERT_EQ(a, b) _Static_assert((a) == (b), "eq") + +#define UNLIKELY(e) __builtin_expect(e, 0) +#define LIKELY(e) __builtin_expect(e, 1) + +#ifndef NDEBUG +#define ASSERT(x) do { if (UNLIKELY(!(x))) __builtin_trap(); } while (0) +#else +#define ASSERT(x) do { } while (0) +#endif +#define ASSERT_EQ(a,b) ASSERT((a) == (b)) + +#endif // ASSERT_H |