Simplify STATIC_ASSERT macro.

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 commit is contained in:
Martin Liška 2022-05-05 14:18:58 +02:00 committed by Martin Liska
parent 1fffe45fb5
commit 73a8dce44b
2 changed files with 2 additions and 6 deletions

View file

@ -158,10 +158,7 @@ struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_d
/* 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

View file

@ -835,8 +835,7 @@ extern void fancy_abort (const char *, int, const char *)
#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