ubsan: nios2: left shift cannot be represented in type 'int'

* nios2-dis.c (nios2_print_insn_arg): Avoid signed overflow
This commit is contained in:
Alan Modra 2019-12-16 09:58:52 +10:30
parent e6ced26afd
commit 8a92faab92
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2019-12-16 Alan Modra <amodra@gmail.com>
* nios2-dis.c (nios2_print_insn_arg): Avoid signed overflow
2019-12-16 Alan Modra <amodra@gmail.com>
* xstormy16-ibld.c: Regenerate.

View File

@ -858,7 +858,7 @@ nios2_print_insn_arg (const char *argptr,
if (i & (1 << 10))
reglist |= (1 << 28);
if (i & (1 << 11))
reglist |= (1 << 31);
reglist |= (1u << 31);
}
else
reglist = i << 2;
@ -887,7 +887,7 @@ nios2_print_insn_arg (const char *argptr,
for (k = (dir == 1 ? 0 : 31);
(dir == 1 && k < 32) || (dir == -1 && k >= 0);
k += dir)
if (reglist & (1 << k))
if (reglist & (1u << k))
{
if (t)
(*info->fprintf_func) (info->stream, ",");