Remove STATIC_ASSERT variants in favor of the C11 variant
Previously, a gcc < 4.6 shim for _Static_assert() was included. Such an old compiler is not supported now anyway, so the macro variant has been removed in favor of a single definition using _Static_assert().
This commit is contained in:
@@ -140,18 +140,7 @@
|
||||
#define ISC_NO_SANITIZE_THREAD
|
||||
#endif /* if __SANITIZE_THREAD__ */
|
||||
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 6)
|
||||
#define STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
|
||||
#elif __has_feature(c_static_assert)
|
||||
#define STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
|
||||
#else /* if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 6) */
|
||||
|
||||
/* Courtesy of Joseph Quinsey: https://godbolt.org/z/K9RvWS */
|
||||
#define TOKENPASTE(a, b) a##b /* "##" is the "Token Pasting Operator" */
|
||||
#define EXPAND_THEN_PASTE(a, b) TOKENPASTE(a, b) /* expand then paste */
|
||||
#define STATIC_ASSERT(x, msg) \
|
||||
enum { EXPAND_THEN_PASTE(ASSERT_line_, __LINE__) = 1 / ((msg) && (x)) }
|
||||
#endif /* if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 6) */
|
||||
|
||||
#ifdef UNIT_TESTING
|
||||
extern void
|
||||
|
||||
Reference in New Issue
Block a user