[Bug c/52106] warning for useless assignments
vincent-gcc at vinc17 dot net
gcc-bugzilla@gcc.gnu.org
Fri Feb 3 13:29:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52106
Vincent Lefèvre <vincent-gcc at vinc17 dot net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |
Summary|missing |warning for useless
|-Wunused-but-set-variable |assignments
|warning with the a = b = |
|... construct |
--- Comment #2 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> 2012-02-03 13:28:39 UTC ---
Then there should be another warning. So, this is a request for a warning for
assignments that are obviously useless (thus maybe a typo in the code or old
code that could be removed...). It should cover variables set but not used
outside the full expression where they are set. The code
int foo (void)
{
int a, b;
a = b = 0;
return a;
}
gives an example. It could be written:
int foo (void)
{
int a;
a = 0;
return a;
}
"a = b = ...;" is generally used as a shortcut for "a = ...; b = ...;", and if
it isn't (because the behavior would be different at compile time or at run
time), there should be a warning against this construct.
More information about the Gcc-bugs
mailing list