The attached patch fixes a warning caused by left shifting a signed constant.

Tested on hppa-unknown-linux-gnu.  Committed to trunk.

Dave
--
John David Anglin       dave.ang...@bell.net


2015-09-13  John David Anglin  <dang...@gcc.gnu.org>

        * config/pa/fptr.c (SIGN_EXTEND): Cast -1 to unsigned.

Index: config/pa/fptr.c
===================================================================
--- config/pa/fptr.c    (revision 227716)
+++ config/pa/fptr.c    (working copy)
@@ -45,7 +45,7 @@
 #define GET_FIELD(X, FROM, TO) \
   ((X) >> (31 - (TO)) & ((1 << ((TO) - (FROM) + 1)) - 1))
 #define SIGN_EXTEND(VAL,BITS) \
-  ((int) ((VAL) >> ((BITS) - 1) ? (-1 << (BITS)) | (VAL) : (VAL)))
+  ((int) ((VAL) >> ((BITS) - 1) ? ((unsigned)(-1) << (BITS)) | (VAL) : (VAL)))
 
 struct link_map;
 typedef int (*fptr_t) (void);

Reply via email to