[Bug middle-end/44420] New: [feature request] Warn for certain integer overflows
fm3 at os dot inf dot tu-dresden dot de
gcc-bugzilla@gcc.gnu.org
Fri Jun 4 20:39:00 GMT 2010
This is a follow-up to http://gcc.gnu.org/ml/gcc-help/2010-06/msg00005.html :
Consider the following case:
uint32_t foo, bar;
...
foo = bar << 20;
Of course, this operation can overflow and warning about this probably does not
make sense as the programmer should be aware of this case. However, a warning
in the following case could be appropriate IMO:
uint32_t bar;
uint64_t foo;
...
foo = bar << 20;
The intension is to catch the overflow case, therefore the assignment to a
64-bit variable. The intended code would be
uint32_t bar;
uint64_t foo;
...
foo = (uint64_t)bar << 20;
I think it would be a big help if gcc could warn in the 2nd case.
--
Summary: [feature request] Warn for certain integer overflows
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fm3 at os dot inf dot tu-dresden dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44420
More information about the Gcc-bugs
mailing list