summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-29 15:42:03 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-29 15:42:03 +0000
commitdf2106b21dc613751b000ac871a755df8d54dacc (patch)
treea1b9e39b4ccac7f63bbe01be5d7dd25e69b05402 /libgfortran
parenta13f5fbeba08acac2f425b00e22b3f8183975a18 (diff)
downloadgcc-df2106b21dc613751b000ac871a755df8d54dacc.tar.gz
PR libgfortran/66650
* libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid "left shift of negative value" warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226355 138bc75d-0d04-0410-961f-82ee72b054a4
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 876b2c92f8a..29efe0ad486 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 8962154aae7..39e5e4ae642 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)