s390_irgen_EX_SS: add initialisations so as to remove (false positive) warnings from gcc-7.x.

When compiling guest_s390_toIR.c for a 32-bit target (a configuration in which
it will never be used, but never mind), gcc-7.x notices that sizeof(ss.dec) is
larger than sizeof(ss.bytes), so the initialisation of ss.bytes leaves ss.dec.b2
and ss.dec.d2 uninitialised.  This patch causes both variants to be initialised.
When built for a 64 bit target, the existing initialisation of ss.bytes covers
ss.dec completely, so there is no error.
This commit is contained in:
Julian Seward 2017-11-07 15:01:51 +01:00
parent 7dd9a7f8b3
commit d813fb74af

View File

@ -11078,6 +11078,7 @@ s390_irgen_EX_SS(UChar r, IRTemp addr2,
stmt(IRStmt_Put(S390X_GUEST_OFFSET(guest_CMLEN), mkU64(4)));
restart_if(mkexpr(cond));
ss.dec.op = ss.dec.l = ss.dec.b1 = ss.dec.d1 = ss.dec.b2 = ss.dec.d2 = 0;
ss.bytes = last_execute_target;
assign(start1, binop(Iop_Add64, mkU64(ss.dec.d1),
ss.dec.b1 != 0 ? get_gpr_dw0(ss.dec.b1) : mkU64(0)));