For C++, use always __static_assert and for C, use the negative array
index.
gcc/ChangeLog:
* basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
* system.h (STATIC_ASSERT): Define as static_assert for C++
and fallback to array index in C.
/* This ensures that struct gimple_bb_info is smaller than
struct rtl_bb_info, so that inlining the former into basic_block_def
is the better choice. */
-typedef int __assert_gimple_bb_smaller_rtl_bb
- [(int) sizeof (struct rtl_bb_info)
- - (int) sizeof (struct gimple_bb_info)];
-
+STATIC_ASSERT (sizeof (rtl_bb_info) >= sizeof (gimple_bb_info));
#define BB_FREQ_MAX 10000
#define STATIC_CONSTANT_P(X) (false && (X))
#endif
-/* static_assert (COND, MESSAGE) is available in C++11 onwards. */
-#if __cplusplus >= 201103L
+#ifdef __cplusplus
#define STATIC_ASSERT(X) \
static_assert ((X), #X)
#else