GNOME Bugzilla – Bug 120389
doxygen doesn't match "void f(int * const)" to "void f(int *)"
Last modified: 2004-12-26 21:02:30 UTC
The function definition void f(int * const i) {} matches the declaration void f(int * i); Doxygen doesn't realize this; so when it sees a doc-comment by the definition, it incorrectly infers that a function is undocumented based on the declaration, and issues a spurious warning.
Created attachment 19410 [details] Test case
This problem should already have been fixed in the current CVS release. Could you confirm or deny this?
The initially given test case now succeeds, but the problem persists for const types; const int *, for instance. I'll attach a second test case that still fails.
Created attachment 19447 [details] Test case
Yes, this is indeed still wrong
With the latest CVS, this now seems to be fixed. Caveat: there may be some lingering problems with enumerants. I have not been able to easily reproduce what I'm seeing in a simplified test case; however, the "problem" function is included in the test case I've attached to bug 120637.
Reopening. As of release 1.3.5, the second test case (attachment 19447 [details]) is still broken.
From what I see with attachment 19447 [details] using release 1.3.7, the problem is now solved.
I don't think so. When processing attachment 19447 [details], doxygen 1.3.7-20040517 issues the warning: /home/braden/src/doxytest.const/doxytest.cpp:5: Warning: Member f(const int *i) of file doxytest.cpp is not documented. This function is, in fact, documented.
We do you see the documentation block for this function then? The block in front is a comment for the file as a whole.
*There is no such function* in the example as "f(const int *i)". There is only "f(int * i)"; and it is documented with a comment block immediately preceding its definition.
I don't see the problems any more in the latest CVS release, so I'm closing this again. Feel free to reopen the bug if you still have problems.