re PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift...
authorUros Bizjak <ubizjak@gmail.com>
Wed, 29 Jul 2015 15:42:03 +0000 (17:42 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 29 Jul 2015 15:42:03 +0000 (17:42 +0200)
PR libgfortran/66650
* libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
"left shift of negative value" warning.

From-SVN: r226355

libgfortran/ChangeLog
libgfortran/libgfortran.h

index 876b2c92f8a4c1f7f013cba6d230e13f05219285..29efe0ad486ed010f0babcc5f3daf508203cd6e3 100644 (file)
@@ -1,3 +1,9 @@
+2015-07-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR libgfortran/66650
+       * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
+       "left shift of negative value" warning.
+
 2015-07-14  Janne Blomqvist  <jb@gcc.gnu.org>
 
        PR libfortran/66861
index 8962154aae7fd6adf3ce5da21e1671fdc4fda335..39e5e4ae6421eb75ee606f97847e8e16250a06f6 100644 (file)
@@ -404,8 +404,7 @@ typedef GFC_ARRAY_DESCRIPTOR (GFC_MAX_DIMENSIONS, GFC_LOGICAL_16) gfc_array_l16;
 
 /* Macros to get both the size and the type with a single masking operation  */
 
-#define GFC_DTYPE_SIZE_MASK \
-  ((~((index_type) 0) >> GFC_DTYPE_SIZE_SHIFT) << GFC_DTYPE_SIZE_SHIFT)
+#define GFC_DTYPE_SIZE_MASK (-((index_type) 1 << GFC_DTYPE_SIZE_SHIFT))
 #define GFC_DTYPE_TYPE_SIZE_MASK (GFC_DTYPE_SIZE_MASK | GFC_DTYPE_TYPE_MASK)
 
 #define GFC_DTYPE_TYPE_SIZE(desc) ((desc)->dtype & GFC_DTYPE_TYPE_SIZE_MASK)