Using Doxygen 1.8.7, I've been asked to remove references to two global variables from a project's output. Looking at the source (a C header file), I found that the "global variables" aren't variables at all; they're function parameters! The header file line that the "global variable" descriptions point to looks like this. (The symbol names are changed to protect the innocent.)
int someFunctionOrOther(%const char *x, %const char *y, int z);
y and z are documented as global variables. x is not.
Looking through the file, I found several other functions with parameters named y and z. Some are earlier in the file than this one; some are later. I have no clue why y and z are documented as globals; since they are, why x is not; or why they're both "defined" at this particular point in the header file.
Is Doxygen doing something correct that has totally escaped me, or is this a bug?
If it's a bug, is there any way I can work around it?
Using a later version of Doxygen is not, unfortunately, an option. Doxygen is called by another tool we use to build docs; the tool wants version 1.8.7, and only 1.8.7. Changing that is outside my authority and experience.