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 727732 - Nested C structures/unions does not work with groups
Nested C structures/unions does not work with groups
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.6
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-04-07 09:27 UTC by Lars Munch
Modified: 2015-06-26 19:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Small group structure bug example (541 bytes, application/x-compressed-tar)
2014-04-07 09:27 UTC, Lars Munch
Details

Description Lars Munch 2014-04-07 09:27:10 UTC
Created attachment 273693 [details]
Small group structure bug example

When using nested C structures/unions with groups the nested structure/union does not use the group it was declared in e.g. "DummyGroup" in the following.

Consider the following file (dummy.h):
-------------
/**
 * @file group bug example
 *
 * SecondLevel_s is not placed in group DummyGroup
 */

/** @addtogroup DummyGroup Dummy group
 * @{
 */

/**
 * Nested structure bug example
 */
struct FirstLevel_s {
  /**
   * Second level structure which is misplaced
   */
  struct SecondLevel_s {
    int a;  //!< Variable a
    int b;  //!< Variable b
  } second; //!< Second level structure
};

/** @} */
-------------

In this example "struct SecondLevel_s" documentation is not placed in the "DummyGroup". A workaround is to add "@ingroup DummyGroup", but this seems wrong as the group is already specified.
Comment 1 Dimitri van Heesch 2014-06-06 15:37:34 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 2 Lars Munch 2014-06-28 11:04:32 UTC
Resolved, Thanks.
Comment 3 Maksim S 2015-01-13 09:50:26 UTC
Is there a way to switch this behavior off? 

In 1.8.6 groups containing several complex classes were clean, but in 1.8.9 a lot of internal (nested) structures and enums are added to group making it hard to understand the bigger picture.

Maybe it could be controlled with an option?
Comment 4 Dimitri van Heesch 2015-06-26 19:06:22 UTC
I'll add the option GROUP_NESTED_COMPOUNDS for this (default will be off)