Error with unnamed structures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 Dear friends

 this code bellow

 if __GNUC__ < 3 || defined( XWT_GTK_OLD_INHERITANCE )
 #   define INHERIT( x )         x inherit
 #   define INH( field )         inherit.field
 #else
 #   define INHERIT( x )         x
 #   define INH( field )         field
 #endif
 typedef struct tag_xwt_widget
 {
    ULONG sign;

    // type is at disposal of drivers to interpret widget data correctly
    int type;

    // pointer to raw widget data that is known by underlying driver
    void *widget_data;

    // Destroys the underlying data.
    BOOL (*destroy)( struct tag_xwt_widget *widget );

    // Sets a given property to a (variable type of) value
    BOOL (*set_property)( struct tag_xwt_widget *widget, char *prop, void*
pValue );

    // Send a group change; pValue is a hash of properties to be changed in
one step
    // useful to move, resize or reset the whole geometry.
    // drivers must cache all the changes and apply them at once on the best
function
    BOOL (*set_pgroup)( struct tag_xwt_widget *widget, void* pValue );

    // retreive a single property of the underlying widget
    BOOL (*get_property)( struct tag_xwt_widget *widget, char *prop, void*
pValue );

    // creates a hash containing all the properties valid for this widget.
    // properties are to be put in the PHB_ITEM pProps that is to be
provided by the caller,
    // the modules will receive it ready to accept properties
    BOOL (*get_all_properties)( struct tag_xwt_widget *widget, void*
pProps );

    void hbOwner; // shell holding the owner
    void* pOwner; // commodity reference to the owner object

 } XWT_WIDGET, *PXWT_WIDGET;

 typedef struct tag_xwt_gtk_base
 {
    GtkWidget *main_widget;
    GtkWidget * (*top_widget)( PXWT_WIDGET self );
    int x;
    int y;
    int width;
    int height;
    int nId;
 } XWT_GTK_BASE, *PXWT_GTK_BASE;


 typedef struct tag_xwt_gtk_modal
 {
   INHERIT( XWT_GTK_BASE );
   BOOL modal;
   BOOL canceled;
 } XWT_GTK_MODAL, *PXWT_GTK_MODAL;

 Compile properly on gcc 3.2.2
 but if i try to compile with gcc 3.3.x i got errors like
 xwt_gtk.h:63: warning: declaration does not declare anything
 xwt_gtk.h:71: warning: declaration does not declare anything

 Is unnamed structures  not more supported on gcc 3.3.x

 how to correct the code to work with unnamed structures , or exist an
 compiler switch to enable gcc 3.2 behavior

 Regards
 Luiz



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux