aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2015-07-29 17:42:03 +0200
committerUros Bizjak <uros@gcc.gnu.org>2015-07-29 17:42:03 +0200
commitc276d6055e6d6529746cd75bd1ef495990ff3f29 (patch)
treea1b9e39b4ccac7f63bbe01be5d7dd25e69b05402 /libgfortran
parent626b8d8a48e3e2064666f849c122d1cc955ce615 (diff)
downloadgcc-c276d6055e6d6529746cd75bd1ef495990ff3f29.zip
gcc-c276d6055e6d6529746cd75bd1ef495990ff3f29.tar.gz
gcc-c276d6055e6d6529746cd75bd1ef495990ff3f29.tar.bz2
re PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift-negative-value])
PR libgfortran/66650 * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid "left shift of negative value" warning. From-SVN: r226355
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/libgfortran.h3
2 files changed, 7 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 876b2c9..29efe0a 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -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
diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
index 8962154..39e5e4a 100644
--- a/libgfortran/libgfortran.h
+++ b/libgfortran/libgfortran.h
@@ -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)