This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Avoid using 'template' C++ keyword
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: binutils at sourceware dot org
- Date: Wed, 7 Oct 2015 13:13:00 +0100
- Subject: [PATCH] Avoid using 'template' C++ keyword
- Authentication-results: sourceware.org; auth=none
'template' is used in include/opcode/aarch64.h as below,
typedef struct
{
const char *template;
uint32_t value;
int has_xt;
} aarch64_sys_ins_reg;
and it triggers compilation errors when GDB is built in C++ mode.
In file included from git/gdb/aarch64-tdep.c:62:0:
git/gdb/../include/opcode/aarch64.h:651:15: error: expected unqualified-id before 'template'
const char *template;
This patch is to rename template to operation_name. I choose operation_name
because they are mentioned as "operation name" in the architecture
reference manual.
Regression tested on aarch64-linux. Is it OK?
gas/
* config/tc-aarch64.c (md_begin): Access field 'operation_name'
rather than 'template'.
include/opcode/
* aarch64.h (aarch64_sys_ins_reg) <template>: Removed.
<operation_name>: New field.
opcodes/
* aarch64-dis.c (aarch64_ext_sysins_op): Access field
'operation_name' rather than 'template'.
* aarch64-opc.c (aarch64_print_operand): Likewise.
---
gas/config/tc-aarch64.c | 16 ++++++++--------
include/opcode/aarch64.h | 2 +-
opcodes/aarch64-dis.c | 4 ++--
opcodes/aarch64-opc.c | 2 +-
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index a0cf976..720bbdb 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7511,24 +7511,24 @@ md_begin (void)
aarch64_pstatefields[i].name,
(void *) (aarch64_pstatefields + i));
- for (i = 0; aarch64_sys_regs_ic[i].template != NULL; i++)
+ for (i = 0; aarch64_sys_regs_ic[i].operation_name != NULL; i++)
checked_hash_insert (aarch64_sys_regs_ic_hsh,
- aarch64_sys_regs_ic[i].template,
+ aarch64_sys_regs_ic[i].operation_name,
(void *) (aarch64_sys_regs_ic + i));
- for (i = 0; aarch64_sys_regs_dc[i].template != NULL; i++)
+ for (i = 0; aarch64_sys_regs_dc[i].operation_name != NULL; i++)
checked_hash_insert (aarch64_sys_regs_dc_hsh,
- aarch64_sys_regs_dc[i].template,
+ aarch64_sys_regs_dc[i].operation_name,
(void *) (aarch64_sys_regs_dc + i));
- for (i = 0; aarch64_sys_regs_at[i].template != NULL; i++)
+ for (i = 0; aarch64_sys_regs_at[i].operation_name != NULL; i++)
checked_hash_insert (aarch64_sys_regs_at_hsh,
- aarch64_sys_regs_at[i].template,
+ aarch64_sys_regs_at[i].operation_name,
(void *) (aarch64_sys_regs_at + i));
- for (i = 0; aarch64_sys_regs_tlbi[i].template != NULL; i++)
+ for (i = 0; aarch64_sys_regs_tlbi[i].operation_name != NULL; i++)
checked_hash_insert (aarch64_sys_regs_tlbi_hsh,
- aarch64_sys_regs_tlbi[i].template,
+ aarch64_sys_regs_tlbi[i].operation_name,
(void *) (aarch64_sys_regs_tlbi + i));
for (i = 0; i < ARRAY_SIZE (reg_names); i++)
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 29be879..79e4919 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -648,7 +648,7 @@ extern bfd_boolean aarch64_pstatefield_supported_p (const aarch64_feature_set,
typedef struct
{
- const char *template;
+ const char *operation_name;
uint32_t value;
int has_xt;
} aarch64_sys_ins_reg;
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index fe3caac..dc18fe8 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -1027,12 +1027,12 @@ aarch64_ext_sysins_op (const aarch64_operand *self ATTRIBUTE_UNUSED,
default: assert (0); return 0;
}
- for (i = 0; sysins_ops[i].template != NULL; ++i)
+ for (i = 0; sysins_ops[i].operation_name != NULL; ++i)
if (sysins_ops[i].value == value)
{
info->sysins_op = sysins_ops + i;
DEBUG_TRACE ("%s found value: %x, has_xt: %d, i: %d.",
- info->sysins_op->template,
+ info->sysins_op->operation_name,
(unsigned)info->sysins_op->value,
info->sysins_op->has_xt, i);
return 1;
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 9880142..204e505 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -2667,7 +2667,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
case AARCH64_OPND_SYSREG_DC:
case AARCH64_OPND_SYSREG_IC:
case AARCH64_OPND_SYSREG_TLBI:
- snprintf (buf, size, "%s", opnd->sysins_op->template);
+ snprintf (buf, size, "%s", opnd->sysins_op->operation_name);
break;
case AARCH64_OPND_BARRIER:
--
1.9.1