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