From 688556a5d1910ead2cf06a87af6908110fa9d035 Mon Sep 17 00:00:00 2001 From: kwolekr Date: Tue, 27 Oct 2015 22:27:32 -0400 Subject: Add STATIC_ASSERT() macro and use it --- src/basicmacros.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/basicmacros.h') diff --git a/src/basicmacros.h b/src/basicmacros.h index cebf06043..2a30a31d2 100644 --- a/src/basicmacros.h +++ b/src/basicmacros.h @@ -38,4 +38,9 @@ with this program; if not, write to the Free Software Foundation, Inc., C(const C &); \ C &operator=(const C &) +// Fail compilation if condition expr is not met. +// Note that 'msg' must follow the format of a valid identifier, e.g. +// STATIC_ASSERT(sizeof(foobar_t) == 40), foobar_t_is_wrong_size); +#define STATIC_ASSERT(expr, msg) typedef char msg[!!(expr) * 2 - 1] + #endif -- cgit v1.2.3