Quoting Andrew Haley <a...@redhat.com>:
On 03/27/2014 08:52 AM, Florian Weimer wrote:
On 03/27/2014 08:44 AM, Andrew Haley wrote:
On 03/26/2014 03:05 PM, Daniel Gutson wrote:
assigning a negative literal to an unsigned variable issues
no warning:
unsigned int x;
x =- 4;
This is specially important in typos when -= was intended instead of =-
Would be acceptable if I add a new warning to handle this, i.e.
-Wnegative-to-unsigned
or alike?
Assigning a negative literal to an unsigned variable is well-defined
standard C. Is it really appropriate to warn for correct code?
Yes, this warning needs to take whitespace into account. But then, I
suppose it would be fine.
I agree.
What about when x is signed, and what about
x =+ 4;
They are equally valid but, again, look fishy.
Why limit the warning to 'x =- 4' when x is unsigned?
This reminds me of the following C scenario:
while (t= strchr(t, ' ')) ....
Which generates a warning despite being perfectly valid.
Michael