sh: make constant unsigned to avoid narrowing
authorTrevor Saunders <tbsaunde+binutils@tbsaunde.org>
Sun, 29 May 2016 00:29:54 +0000 (20:29 -0400)
committerTrevor Saunders <tbsaunde+binutils@tbsaunde.org>
Wed, 1 Jun 2016 03:12:22 +0000 (23:12 -0400)
Shifting into the sign bit of a 32 bit int and then converting to a unsigned
type is less straight forward than just shifting an unsigned value.

opcodes/ChangeLog:

2016-05-31  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>

* sh-opc.h (ARCH_SH_HAS_DSP): Make the shifted value an unsigned
constant.

opcodes/ChangeLog
opcodes/sh-opc.h

index 01ef568..c1023ad 100644 (file)
@@ -1,3 +1,8 @@
+2016-05-31  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * sh-opc.h (ARCH_SH_HAS_DSP): Make the shifted value an unsigned
+       constant.
+
 2016-05-29  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR gas/20145
index b2bbbfd..46ce5ab 100644 (file)
@@ -230,7 +230,7 @@ sh_dsp_reg_nums;
 #define arch_sh_no_co     (1 << 28)  /* Neither FPU nor DSP co-processor.  */
 #define arch_sh_sp_fpu    (1 << 29)  /* Single precision FPU.  */
 #define arch_sh_dp_fpu    (1 << 30)  /* Double precision FPU.  */
-#define arch_sh_has_dsp           (1 << 31)
+#define arch_sh_has_dsp           (1u << 31)
 #define arch_sh_co_mask    MASK (28, 31)