From 2e4d6acd09f0af5d51c4da5707b3430cdd54f0a5 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 28 May 2008 13:09:52 -0400 Subject: [PATCH] [cairoint.h] Add COMPILE_TIME_ASSERT() --- src/cairoint.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cairoint.h b/src/cairoint.h index bb60151b5..f1bee255a 100755 --- a/src/cairoint.h +++ b/src/cairoint.h @@ -127,6 +127,10 @@ do { \ static const int NOT_REACHED = 0; \ assert (NOT_REACHED); \ } while (0) +#define COMPILE_TIME_ASSERT1(condition, line) \ + typedef int compile_time_assertion_at_line_##line##_failed [(condition)?1:-1]; +#define COMPILE_TIME_ASSERT0(condition, line) COMPILE_TIME_ASSERT1(condition, line) +#define COMPILE_TIME_ASSERT(condition) COMPILE_TIME_ASSERT0(condition, __LINE__) #define CAIRO_ALPHA_IS_OPAQUE(alpha) ((alpha) >= ((double)0xff00 / (double)0xffff)) #define CAIRO_ALPHA_SHORT_IS_OPAQUE(alpha) ((alpha) >= 0xff00)