From 2bd1d7f045ded45c69dfe8d6b50e231655ca5977 Mon Sep 17 00:00:00 2001 From: Matthew Blue <matthew.blue.neuro@gmail.com> Date: Sat, 2 Jun 2018 18:13:23 -0400 Subject: [PATCH] core/assert: provide static_assert for c99 --- core/include/assert.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/include/assert.h b/core/include/assert.h index f872e0cdc1..20675d5edf 100644 --- a/core/include/assert.h +++ b/core/include/assert.h @@ -114,9 +114,12 @@ NORETURN void _assert_failure(const char *file, unsigned line); #define static_assert(...) _Static_assert(__VA_ARGS__) #else /** - * @brief static_assert dummy for c-version < c11 + * @brief static_assert for c-version < c11 + * + * Generates a division by zero compile error when cond is false */ -#define static_assert(...) struct static_assert_dummy +#define static_assert(cond, ...) \ + enum { static_assert_failed_on_div_by_0 = 1 / (!!(cond)) } #endif #endif -- GitLab