AArch64: Replace C initializers with memset
authorTamar Christina <tamar.christina@arm.com>
Mon, 8 Oct 2018 12:33:42 +0000 (13:33 +0100)
committerTamar Christina <tamar.christina@arm.com>
Mon, 8 Oct 2018 12:42:37 +0000 (13:42 +0100)
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}.

opcodes/ChangeLog
opcodes/aarch64-opc.c

index 27ca2da..6407047 100644 (file)
@@ -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.
index 3f62e2a..ed75a9a 100644 (file)
@@ -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);