46,47d45
< #include "config/have_static_assert.hh"
<
61,88d58
< /*
< * Define a compatibility macro that emulates the behavior of
< * static_assert using template magic if the compiler doesn't have
< * native support.
< */
< #if !HAVE_STATIC_ASSERT
<
< template<bool>
< struct static_assert_failure;
<
< template<>
< struct static_assert_failure<false> {};
<
< /* The following macro causes the compiler to evaluate the size of the
< * static_assert_failure struct. The templates are designed so that
< * only static_assert_failure<false> evaluates to a proper size, while
< * static_assert_failure<true> generates a compile time error.
< */
< #define static_assert(expr, msg) \
< namespace ns_static_assert { \
< enum { \
< static_assert_ ## __LINE__ = \
< sizeof(static_assert_failure<!(expr)>) \
< }; \
< }
<
< #endif
<