mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
opcodes: fix -std=gnu23 compatibility wrt static_assert
static_assert is declared in C23 so we can't reuse that identifier: * Define our own static_assert conditionally; * Rename "static assert" hacks to _N as we do already in some places to avoid a conflict. ChangeLog: PR ld/32372 * i386-gen.c (static_assert): Define conditionally. * mips-formats.h (MAPPED_INT): Rename identifier. (MAPPED_REG): Rename identifier. (OPTIONAL_MAPPED_REG): Rename identifier. * s390-opc.c (static_assert): Define conditionally.
This commit is contained in:
parent
931e4f9b09
commit
8ebe62f3f0
@ -30,7 +30,9 @@
|
||||
|
||||
/* Build-time checks are preferrable over runtime ones. Use this construct
|
||||
in preference where possible. */
|
||||
#ifndef static_assert
|
||||
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
|
||||
#endif
|
||||
|
||||
static const char *program_name = NULL;
|
||||
static int debug = 0;
|
||||
|
@ -49,7 +49,7 @@
|
||||
#define MAPPED_INT(SIZE, LSB, MAP, PRINT_HEX) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static_assert_3[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_mapped_int_operand op = { \
|
||||
{ OP_MAPPED_INT, SIZE, LSB }, MAP, PRINT_HEX \
|
||||
}; \
|
||||
@ -83,7 +83,7 @@
|
||||
#define MAPPED_REG(SIZE, LSB, BANK, MAP) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static_assert_4[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_reg_operand op = { \
|
||||
{ OP_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
|
||||
}; \
|
||||
@ -93,7 +93,7 @@
|
||||
#define OPTIONAL_MAPPED_REG(SIZE, LSB, BANK, MAP) \
|
||||
{ \
|
||||
typedef char ATTRIBUTE_UNUSED \
|
||||
static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static_assert_5[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
|
||||
static const struct mips_reg_operand op = { \
|
||||
{ OP_OPTIONAL_REG, SIZE, LSB }, OP_REG_##BANK, MAP \
|
||||
}; \
|
||||
|
@ -36,7 +36,9 @@
|
||||
|
||||
/* Build-time checks are preferrable over runtime ones. Use this construct
|
||||
in preference where possible. */
|
||||
#ifndef static_assert
|
||||
#define static_assert(e) ((void)sizeof (struct { int _:1 - 2 * !(e); }))
|
||||
#endif
|
||||
|
||||
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user