This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: question regarding new warning


On 27/03/14 09:52, 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.
>

This is already warned by -Wconversion/-Wsign-conversion since at
least GCC 4.6 (but I think probably since GCC 4.3):

test.c: In function 'foo':
test.c:4:8: warning: negative integer implicitly converted to unsigned
type [-Wsign-conversion]
     x =- 4;
        ^

There are some known bugs in -Wconversion and nobody working on them,
so if you are still interested in helping, I can give you some hints
on where your help will be very welcome.

Cheers,

Manuel.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]