[Bug c++/17645] New: Warning flags for unsigned operations (unsafe)

mmalater at nycap dot rr dot com gcc-bugzilla@gcc.gnu.org
Fri Sep 24 04:15:00 GMT 2004


Following the discussion on the gcc mailing list. I am posting the feature
request here.

I would like a new flag in gcc that would warn user about possible unsafe
operation when manipulating unsigned numbers. For example, the following code
that does a simple linear interpolation is unsafe:

1.
c = a + t * (b - a);  //unsafe

Whereas this one is safe:

2.
c = (1.0 - t) * a + t * b; //safe

Number 1 will fail when both a and b are unsigned and let say b - a = -1
(mathematically speaking).

It would be nice if there something in gcc that could warn me for this kind of
operation.

This would also be great if the warnings would also work on templated code (so
ex #1 would be half good/half bad depending of signess).

-- 
           Summary: Warning flags for unsigned operations (unsafe)
           Product: gcc
           Version: 3.3.4
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mmalater at nycap dot rr dot com
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17645



More information about the Gcc-bugs mailing list