clean up static assert

This commit is contained in:
hathach 2018-03-28 14:30:32 +07:00
parent 43ac711795
commit 0d3e66fa0a
2 changed files with 5 additions and 20 deletions

View File

@ -50,18 +50,18 @@
#define XSTRING_CONCAT_(a, b) STRING_CONCAT_(a, b) ///< expand then concat
//--------------------------------------------------------------------+
// Compile-time Assert
// Compile-time Assert (use VERIFY_STATIC to avoid name conflict)
//--------------------------------------------------------------------+
#ifdef __ICCARM__
#if defined(__ICCARM__) || (__STDC_VERSION__ >= 201112L )
#define VERIFY_STATIC static_assert
#else
#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
#define _ASSERT_COUNTER __COUNTER__
#define _VERIFY_COUNTER __COUNTER__
#else
#define _ASSERT_COUNTER __LINE__
#define _VERIFY_COUNTER __LINE__
#endif
#define VERIFY_STATIC(const_expr, message) enum { XSTRING_CONCAT_(static_assert_, _ASSERT_COUNTER) = 1/(!!(const_expr)) }
#define VERIFY_STATIC(const_expr, _mess) enum { XSTRING_CONCAT_(_verify_static_, _VERIFY_COUNTER) = 1/(!!(const_expr)) }
#endif
// allow debugger to watch any module-wide variables anywhere

View File

@ -51,21 +51,6 @@
#define GET_3RD_ARG(arg1, arg2, arg3, ...) arg3
#define GET_4TH_ARG(arg1, arg2, arg3, arg4, ...) arg4
//--------------------------------------------------------------------+
// Compile-time Verify (like assert static)
//--------------------------------------------------------------------+
#ifdef __ICCARM__
#define VERIFY_STATIC static_assert
#else
#if defined __COUNTER__ && __COUNTER__ != __COUNTER__
#define _VERIFY_COUNTER __COUNTER__
#else
#define _VERIFY_COUNTER __LINE__
#endif
#define VERIFY_STATIC(const_expr, _mess) enum { XSTRING_CONCAT_(_verify_static_, _VERIFY_COUNTER) = 1/(!!(const_expr)) }
#endif
//--------------------------------------------------------------------+
// VERIFY Helper
//--------------------------------------------------------------------+