[binutils-gdb] sh: make constant unsigned to avoid narrowing

Trevor Saunders tbsaunde@sourceware.org
Wed Jun 1 03:06:00 GMT 2016


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a2b5fccc630a7cb7e1c241e5249bf6e8917d917d

commit a2b5fccc630a7cb7e1c241e5249bf6e8917d917d
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Sat May 28 20:29:54 2016 -0400

    sh: make constant unsigned to avoid narrowing
    
    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.

Diff:
---
 opcodes/ChangeLog | 5 +++++
 opcodes/sh-opc.h  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 01ef568..c1023ad 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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
diff --git a/opcodes/sh-opc.h b/opcodes/sh-opc.h
index b2bbbfd..46ce5ab 100644
--- a/opcodes/sh-opc.h
+++ b/opcodes/sh-opc.h
@@ -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)



More information about the Binutils-cvs mailing list