Error with unnamed structures
Luiz Rafael Culik Guimaraes
culikr@uol.com.br
Sun May 16 22:10:00 GMT 2004
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
More information about the Gcc-help
mailing list