[binutils-gdb] AArch64: Replace C initializers with memset

Tamar Christina tnfchris@sourceware.org
Mon Oct 8 12:43:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=780f601cf3bfd2eb141c2ea32b673b5bd0956a33

commit 780f601cf3bfd2eb141c2ea32b673b5bd0956a33
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Mon Oct 8 13:33:42 2018 +0100

    AArch64: Replace C initializers with memset
    
    Clang doesn't accept {0} as a valid C struct initializer under their implementation
    of -Wmissing-field-initializers.  This makes using C initializers a bit tricky.
    
    Instead I'm changing the code to use memset instead, which at least GCC inlines and
    generates the same code for.  This also seems to be the idiom used in binutils for
    most targets.
    
    opcodes/
    
    	* aarch64-opc.c (verify_constraints): Use memset instead of {0}.

Diff:
---
 opcodes/ChangeLog     | 4 ++++
 opcodes/aarch64-opc.c | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 27ca2da..6407047 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2018-10-08  Tamar Christina  <tamar.christina@arm.com>
+
+	* aarch64-opc.c (verify_constraints): Use memset instead of {0}.
+
 2018-10-05  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* i386-dis.c (rm_table): Add enclv.
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 3f62e2a..ed75a9a 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -4671,7 +4671,9 @@ verify_constraints (const struct aarch64_inst *inst,
 
 	  /* Next check for usage of the predicate register.  */
 	  aarch64_opnd_info blk_dest = insn_sequence->instr->operands[0];
-	  aarch64_opnd_info blk_pred = {0}, inst_pred = {0};
+	  aarch64_opnd_info blk_pred, inst_pred;
+	  memset (&blk_pred, 0, sizeof (aarch64_opnd_info));
+	  memset (&inst_pred, 0, sizeof (aarch64_opnd_info));
 	  bfd_boolean predicated = FALSE;
 	  assert (blk_dest.type == AARCH64_OPND_SVE_Zd);



More information about the Binutils-cvs mailing list