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.
