question regarding new warning
mveksler@tx.technion.ac.il
mveksler@tx.technion.ac.il
Thu Mar 27 16:51:00 GMT 2014
Quoting Andrew Haley <aph@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
More information about the Gcc
mailing list