struct - __attribute__((packed)) not working?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

struct - __attribute__((packed)) not working?

Liam Staskawicz
Hi - I have a struct that I'm having trouble generating documentation  
for.  Here's generally what it looks like:

/**
   \struct MyStruct
   My great struct.
*/
typedef struct
{
   int id; /**< id doc */
   union
   {
     char data[100];
     myType t;
     myOtherType o;
   }
} __attribute__((packed)) MyStruct;

All that gets generated is a stub page with the title MyStruct and any  
further description I add to the main doc block - no member  
documentation. When I remove "__attribute__((packed))" then I get some  
nice member documentation - the nested union thing still works a  
little strangely, but I'll figure that out once the of it's working.

Any hints?  Thanks very much!

Liam

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Doxygen-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/doxygen-users
Reply | Threaded
Open this post in threaded view
|

Re: struct - __attribute__((packed)) not working?

Dimitri van Heesch-2

On 13 aug 2008, at 19:12, Liam Staskawicz wrote:

> Hi - I have a struct that I'm having trouble generating documentation
> for.  Here's generally what it looks like:
>
> /**
>   \struct MyStruct
>   My great struct.
> */
> typedef struct
> {
>   int id; /**< id doc */
>   union
>   {
>     char data[100];
>     myType t;
>     myOtherType o;
>   }
> } __attribute__((packed)) MyStruct;
>
> All that gets generated is a stub page with the title MyStruct and any
> further description I add to the main doc block - no member
> documentation. When I remove "__attribute__((packed))" then I get some
> nice member documentation - the nested union thing still works a
> little strangely, but I'll figure that out once the of it's working.
>

You can let doxygen's C-preprocessor remove the __attribute__ stuff  
with the
following settings:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = __attribute__(x)=

Regards,
   Dimitri

P.S. The \struct command in your example is redundant and can be  
removed.



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Doxygen-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/doxygen-users