On 13/11/2017 07:48, Stefan Weil wrote:
> These gcc warnings are fixed:
>
> target/i386/translate.c:4461:12: warning:
> variable ‘prefixes’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
> target/i386/translate.c:4466:9: warning:
> variable ‘rex_w’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
> target/i386/translate.c:4466:16: warning:
> variable ‘rex_r’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Wclobbered]
>
> Tested with x86_64-w64-mingw32-gcc from Debian stretch.
>
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
> target/i386/translate.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index 088a9d9766..f410938244 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -4467,10 +4467,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
> target_ulong pc_start = s->base.pc_next;
>
> s->pc_start = s->pc = pc_start;
> - prefixes = 0;
> s->override = -1;
> - rex_w = -1;
> - rex_r = 0;
> #ifdef TARGET_X86_64
> s->rex_x = 0;
> s->rex_b = 0;
> @@ -4484,6 +4481,10 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
> return s->pc;
> }
>
> + prefixes = 0;
> + rex_w = -1;
> + rex_r = 0;
> +
> next_byte:
> b = x86_ldub_code(env, s);
> /* Collect prefixes. */
>
Queued, thanks.
Paolo