:ADDPATCH C:
Wextra gives a warning when a function may return with and without a
value, for example:
foo (a)
{
if (a > 0)
return a;
}
However, this warning is completely redundant, since Wreturn-type
(that is enabled by -Wall) will give a warning for any 'return'
without value, in a function whose return-type is not 'void' and about
a 'return' with a value, in a function whose return-type is 'void'. I
was not able to construct an example for which Wextra warns but
Wreturn-type does not.
So this patch removes this warning from Wextra and improves the
description of Wreturn-type.
Boostrapped and regression tested.
OK for mainline?
2007-02-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* doc/invoke.texi (Wreturn-type): Complete description.
(Wextra): Delete item about return-type warning.
* c-decl.c: Delete redundant Wextra warning.
testsuite/
* gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type.
* gcc.dg/20030906-2.c: Likewise.
* objc.dg/method-17.m: Add -Wreturn-type.
* obj-c++.dg/method-21.mm: Likewise.