[patch] rl78: GCC false warning workaround
DJ Delorie
dj@redhat.com
Wed Apr 10 19:09:00 GMT 2013
This version is OK. Not the other version. Note: I consider this a
gcc bug, as the switch statement guarantees the array index is in
range.
> opcodes/
> 2013-04-10 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * rl78-dis.c (print_insn_rl78): Use alternative form as a GCC false
> warning workaround.
>
> diff --git a/opcodes/rl78-dis.c b/opcodes/rl78-dis.c
> index 1ceee8d..7d1eab4 100644
> --- a/opcodes/rl78-dis.c
> +++ b/opcodes/rl78-dis.c
> @@ -217,7 +217,7 @@ print_insn_rl78 (bfd_vma addr, disassemble_info * dis)
>
> case '0':
> case '1':
> - oper = opcode.op + *s - '0';
> + oper = *s == '0' ? &opcode.op[0] : &opcode.op[1];
> if (do_es)
> {
> if (oper->use_es && indirect_type (oper->type))
>
More information about the Binutils
mailing list