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.

Reply via email to