On 09/03/2019 00:06, Joseph Myers wrote:
On Fri, 8 Mar 2019, Joel Sherrill wrote:
Can gcc report when the parameter name in a C prototype
does not match that used in the implementation?
int f(int x);
int f(int y) {...}
I think this would be normal and expected - an installed header would use
a reserved-namespace name for the parameter while the implementation uses
a non-reserved name that's more convenient for use within the
implementation. (Thus anything like this would only be useful if it can
know that it's e.g. OK to have __y and y as the names, and some code no
doubt uses other such conventions relating the two names.)
I can appreciate that a warning like this is not for everyone. But /I/
would like and use such a warning for my own code.
The kind of headers which would specifically use reserved or otherwise
unusual parameter names are things like library headers - and you will
not be compiling the implementation source code, and thus won't get a
mismatch. A warning like this would be used with your own header/source
combinations - where your implementation is #include'ing the unit's
header as a way of checking that you've got the function name and
parameter types correct. This warning would add parameter names to the
things that are checked.