[Bug libfortran/66650] New: libgfortran: warning: left shift of negative value [-Wshift-negative-value]
tschwinge at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 24 14:13:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66650
Bug ID: 66650
Summary: libgfortran: warning: left shift of negative value
[-Wshift-negative-value]
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: tschwinge at gcc dot gnu.org
CC: mpolacek at gcc dot gnu.org
Target Milestone: ---
As of the changes in context of PR65179,
<http://news.gmane.org/find-root.php?message_id=%3C20150422183633.GI28950%40redhat.com%3E>,
I'm seeing a bunch of -Wshift-negative-value warnings in the libgfortran build,
for example:
In file included from [...]/libgfortran/intrinsics/cshift0.c:26:0:
[...]/libgfortran/intrinsics/cshift0.c: In function 'cshift0':
[...]/libgfortran/libgfortran.h:408:48: warning: left shift of negative
value [-Wshift-negative-value]
((~((index_type) 0) >> GFC_DTYPE_SIZE_SHIFT) << GFC_DTYPE_SIZE_SHIFT)
^
[...]/libgfortran/libgfortran.h:409:35: note: in expansion of macro
'GFC_DTYPE_SIZE_MASK'
#define GFC_DTYPE_TYPE_SIZE_MASK (GFC_DTYPE_SIZE_MASK |
GFC_DTYPE_TYPE_MASK)
^
[...]/libgfortran/libgfortran.h:411:52: note: in expansion of macro
'GFC_DTYPE_TYPE_SIZE_MASK'
#define GFC_DTYPE_TYPE_SIZE(desc) ((desc)->dtype &
GFC_DTYPE_TYPE_SIZE_MASK)
^
[...]/libgfortran/intrinsics/cshift0.c:94:15: note: in expansion of macro
'GFC_DTYPE_TYPE_SIZE'
type_size = GFC_DTYPE_TYPE_SIZE (array);
^
Unless this will be resolved by demoting the warning (I have not reviewed the
recent discussion, such as PR66066,
<http://news.gmane.org/find-root.php?message_id=%3C20150511142112.GO3384%40redhat.com%3E>),
I supposed this should be fixed in libgfortran/libgfortran.h, perhaps by making
index_type an unsiged type if that's possible?
More information about the Gcc-bugs
mailing list