This is the mail archive of the
mailing list for the GCC project.
Re: question regarding new warning
- From: Manuel López-Ibáñez <lopezibanez at gmail dot com>
- To: gcc Mailing List <gcc at gcc dot gnu dot org>
- Cc: Andrew Haley <aph at redhat dot com>, Daniel Gutson <daniel dot gutson at tallertechnologies dot com>, Florian Weimer <fweimer at redhat dot com>
- Date: Thu, 27 Mar 2014 10:48:46 +0100
- Subject: Re: question regarding new warning
- Authentication-results: sourceware.org; auth=none
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.
>>> 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
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.