[PATCH, libgfortran]: Avoid left shift of negative value warning
Uros Bizjak
ubizjak@gmail.com
Wed Jul 29 12:03:00 GMT 2015
Attached patch rewrites GFC_DTYPE_SIZE_MASK definition to avoid "left
shift of negative value" warning. during ligfortran build.
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.
Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
OK for mainline and release branches?
Uros.
---
Index: libgfortran.h
===================================================================
--- libgfortran.h (revision 226339)
+++ libgfortran.h (working copy)
@@ -404,8 +404,7 @@
/* 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)
More information about the Gcc-patches
mailing list