After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 691071 - anonymous union member marked as 'not documented'
anonymous union member marked as 'not documented'
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.3.1
Other Windows
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2013-01-03 14:21 UTC by Matthias Kluwe
Modified: 2013-12-24 12:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
doxyfile used (80.03 KB, application/octet-stream)
2013-05-10 12:07 UTC, Matthias Kluwe
Details

Description Matthias Kluwe 2013-01-03 14:21:11 UTC
Example:

/// class
class Foo {
public:
private:
    /// foo
    union {
        double d;
        int i;
    } u;
};

This generates the warning: Member u (variable) of class Foo is not documented.

IIRC, this did not happen in release 1.8.1.2.
Comment 1 james.q.arnold 2013-02-27 12:49:55 UTC
I do not see the warning message (probably different
configuration file settings).  But I do see a variant
of the problem, where the documentation for Foo::u
does not appear in the HTML output.  In the example
above, the "/// foo" comment should have generated
HTML output, but it silently disappears.

I have C code, not C++, but the issue is the same.
I am using 1.8.3.1.
Comment 2 Matthias Kluwe 2013-02-27 13:08:03 UTC
Probably configuration file settings matter. To produce the issue I've set JAVADOC_AUTOBRIEF and EXTRACT_PRIVATE.
Comment 3 Matthias Kluwe 2013-05-10 12:07:05 UTC
Created attachment 243767 [details]
doxyfile used
Comment 4 Matthias Kluwe 2013-11-15 13:44:55 UTC
(In reply to comment #0)
> Example:
> 
> /// class
> class Foo {
> public:
> private:
>     /// foo
>     union {
>         double d;
>         int i;
>     } u;
> };
> 
> This generates the warning: Member u (variable) of class Foo is not documented.
> 
> IIRC, this did not happen in release 1.8.1.2.

I found out that the member u can be documented by putting the doc comment in the "correct" line. This does what I want:

/// class
class Foo {
public:
private:
    union {
        double d;
        int i;
    /// foo
    } u;
};
Comment 5 Dimitri van Heesch 2013-12-24 12:05:40 UTC
I just checked and since version 1.8.4 either place (before the union or before the variable name) produces the correct results, so this bug seems to be fixed.

Please reopen this bug report if you still see this issue with the latest version of doxygen. Add a self-contained example (source+config file in a zip or tar) if possible.