mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
nios2: avoid anonymous unions in designated initializers.
These cause compilation failures on CentOS 6 or other operating systems with older GCCs. Cc: Richard Henderson <rth@twiddle.net> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
eff235eb2b
commit
4ae4b609ee
1 changed files with 18 additions and 18 deletions
|
@ -48,14 +48,14 @@
|
||||||
struct { \
|
struct { \
|
||||||
uint8_t op; \
|
uint8_t op; \
|
||||||
union { \
|
union { \
|
||||||
uint16_t imm16; \
|
uint16_t u; \
|
||||||
int16_t imm16s; \
|
int16_t s; \
|
||||||
}; \
|
} imm16; \
|
||||||
uint8_t b; \
|
uint8_t b; \
|
||||||
uint8_t a; \
|
uint8_t a; \
|
||||||
} (instr) = { \
|
} (instr) = { \
|
||||||
.op = extract32((code), 0, 6), \
|
.op = extract32((code), 0, 6), \
|
||||||
.imm16 = extract32((code), 6, 16), \
|
.imm16.u = extract32((code), 6, 16), \
|
||||||
.b = extract32((code), 22, 5), \
|
.b = extract32((code), 22, 5), \
|
||||||
.a = extract32((code), 27, 5), \
|
.a = extract32((code), 27, 5), \
|
||||||
}
|
}
|
||||||
|
@ -232,7 +232,7 @@ static void gen_ldx(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||||
data = tcg_temp_new();
|
data = tcg_temp_new();
|
||||||
}
|
}
|
||||||
|
|
||||||
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16s);
|
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16.s);
|
||||||
tcg_gen_qemu_ld_tl(data, addr, dc->mem_idx, flags);
|
tcg_gen_qemu_ld_tl(data, addr, dc->mem_idx, flags);
|
||||||
|
|
||||||
if (unlikely(instr.b == R_ZERO)) {
|
if (unlikely(instr.b == R_ZERO)) {
|
||||||
|
@ -249,7 +249,7 @@ static void gen_stx(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||||
TCGv val = load_gpr(dc, instr.b);
|
TCGv val = load_gpr(dc, instr.b);
|
||||||
|
|
||||||
TCGv addr = tcg_temp_new();
|
TCGv addr = tcg_temp_new();
|
||||||
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16s);
|
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16.s);
|
||||||
tcg_gen_qemu_st_tl(val, addr, dc->mem_idx, flags);
|
tcg_gen_qemu_st_tl(val, addr, dc->mem_idx, flags);
|
||||||
tcg_temp_free(addr);
|
tcg_temp_free(addr);
|
||||||
}
|
}
|
||||||
|
@ -259,7 +259,7 @@ static void br(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||||
{
|
{
|
||||||
I_TYPE(instr, code);
|
I_TYPE(instr, code);
|
||||||
|
|
||||||
gen_goto_tb(dc, 0, dc->pc + 4 + (instr.imm16s & -4));
|
gen_goto_tb(dc, 0, dc->pc + 4 + (instr.imm16.s & -4));
|
||||||
dc->is_jmp = DISAS_TB_JUMP;
|
dc->is_jmp = DISAS_TB_JUMP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ static void gen_bxx(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||||
tcg_gen_brcond_tl(flags, dc->cpu_R[instr.a], dc->cpu_R[instr.b], l1);
|
tcg_gen_brcond_tl(flags, dc->cpu_R[instr.a], dc->cpu_R[instr.b], l1);
|
||||||
gen_goto_tb(dc, 0, dc->pc + 4);
|
gen_goto_tb(dc, 0, dc->pc + 4);
|
||||||
gen_set_label(l1);
|
gen_set_label(l1);
|
||||||
gen_goto_tb(dc, 1, dc->pc + 4 + (instr.imm16s & -4));
|
gen_goto_tb(dc, 1, dc->pc + 4 + (instr.imm16.s & -4));
|
||||||
dc->is_jmp = DISAS_TB_JUMP;
|
dc->is_jmp = DISAS_TB_JUMP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -284,8 +284,8 @@ static void (fname)(DisasContext *dc, uint32_t code, uint32_t flags) \
|
||||||
(op3)); \
|
(op3)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
gen_i_cmpxx(gen_cmpxxsi, instr.imm16s)
|
gen_i_cmpxx(gen_cmpxxsi, instr.imm16.s)
|
||||||
gen_i_cmpxx(gen_cmpxxui, instr.imm16)
|
gen_i_cmpxx(gen_cmpxxui, instr.imm16.u)
|
||||||
|
|
||||||
/* Math/logic instructions */
|
/* Math/logic instructions */
|
||||||
#define gen_i_math_logic(fname, insn, resimm, op3) \
|
#define gen_i_math_logic(fname, insn, resimm, op3) \
|
||||||
|
@ -302,16 +302,16 @@ static void (fname)(DisasContext *dc, uint32_t code, uint32_t flags) \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
gen_i_math_logic(addi, addi, 1, instr.imm16s)
|
gen_i_math_logic(addi, addi, 1, instr.imm16.s)
|
||||||
gen_i_math_logic(muli, muli, 0, instr.imm16s)
|
gen_i_math_logic(muli, muli, 0, instr.imm16.s)
|
||||||
|
|
||||||
gen_i_math_logic(andi, andi, 0, instr.imm16)
|
gen_i_math_logic(andi, andi, 0, instr.imm16.u)
|
||||||
gen_i_math_logic(ori, ori, 1, instr.imm16)
|
gen_i_math_logic(ori, ori, 1, instr.imm16.u)
|
||||||
gen_i_math_logic(xori, xori, 1, instr.imm16)
|
gen_i_math_logic(xori, xori, 1, instr.imm16.u)
|
||||||
|
|
||||||
gen_i_math_logic(andhi, andi, 0, instr.imm16 << 16)
|
gen_i_math_logic(andhi, andi, 0, instr.imm16.u << 16)
|
||||||
gen_i_math_logic(orhi , ori, 1, instr.imm16 << 16)
|
gen_i_math_logic(orhi , ori, 1, instr.imm16.u << 16)
|
||||||
gen_i_math_logic(xorhi, xori, 1, instr.imm16 << 16)
|
gen_i_math_logic(xorhi, xori, 1, instr.imm16.u << 16)
|
||||||
|
|
||||||
/* Prototype only, defined below */
|
/* Prototype only, defined below */
|
||||||
static void handle_r_type_instr(DisasContext *dc, uint32_t code,
|
static void handle_r_type_instr(DisasContext *dc, uint32_t code,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue