Add 'U' suffix to silence GCC 6 warning

GCC 6 warns:

error: result of ‘63 << 26’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=]

on 0x3f << 26.  This patch adds 'U' suffix to make integer constant
unsigned.

	* alpha.c (OP_Jxx): Add 'U' suffix to make it unsigned.
	(OP_BSR): Likewise.
	(Jxx_FUNC_JMP): Likewise.
	(Jxx_FUNC_JSR): Likewise.
	(Jxx_FUNC_RET): Likewise.
	(Jxx_FUNC_JSR_COROUTINE): Likewise.
	(alpha_find_call): Replace 0x3f with 0x3fU.
This commit is contained in:
H.J. Lu 2015-07-24 09:10:18 -07:00
parent 7cb9e39bd8
commit afa5870f1b
2 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,13 @@
2015-07-24 H.J. Lu <hongjiu.lu@intel.com>
* alpha.c (OP_Jxx): Add 'U' suffix to make it unsigned.
(OP_BSR): Likewise.
(Jxx_FUNC_JMP): Likewise.
(Jxx_FUNC_JSR): Likewise.
(Jxx_FUNC_RET): Likewise.
(Jxx_FUNC_JSR_COROUTINE): Likewise.
(alpha_find_call): Replace 0x3f with 0x3fU.
2015-04-29 Nick Clifton <nickc@redhat.com>
* po/da.po: Update Danish translation.

View File

@ -37,13 +37,13 @@
/*
* Opcodes of the call instructions:
*/
#define OP_Jxx 0x1a
#define OP_BSR 0x34
#define OP_Jxx 0x1aU
#define OP_BSR 0x34U
#define Jxx_FUNC_JMP 0
#define Jxx_FUNC_JSR 1
#define Jxx_FUNC_RET 2
#define Jxx_FUNC_JSR_COROUTINE 3
#define Jxx_FUNC_JMP 0U
#define Jxx_FUNC_JSR 1U
#define Jxx_FUNC_RET 2U
#define Jxx_FUNC_JSR_COROUTINE 3U
/* *INDENT-OFF* */
/* Here to document only. We can't use this when cross compiling as
@ -111,7 +111,7 @@ alpha_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc)
{
insn = bfd_get_32 (core_bfd, ((unsigned char *) core_text_space
+ pc - core_text_sect->vma));
switch (insn & (0x3f << 26))
switch (insn & (0x3fU << 26))
{
case OP_Jxx << 26:
/*