[comp.windows.x] Problem with Geometry Handler definition syntax, X11R3

leach@tolerant.com (Geoffrey Leach) (12/28/89)

/*
**	These three typedefs are taken from the X11R3 Xt Intrinsics
**	header files.  
*/

typedef enum  { XtGeometryYes } XtGeometryResult;

typedef XtGeometryResult (*XtGeometryHandler)();

typedef struct _CompositeClassPart {
	XtGeometryHandler geometry_manager;
}		CompositeClassPart;

/*
**	Here's the problem code
*/

extern XtGeometryHandler foo();

CompositeClassPart ccp	= {
	foo
};

/*
**	And the result from the SVR3.2.2 cc is the warning:
**
**	"p.c", line 22: warning: illegal pointer combination, op =
**
**	The key to the complaint appears to be the fact that the
**	typedef is a pointer to a procedure returning an enum.
**	Is this a peculiarity of ATT's cc?  Anyone know of a workaround?
*/

swick@ATHENA.MIT.EDU (Ralph R. Swick) (01/04/90)

>	Is this a peculiarity of ATT's cc?

Yes, we believe so.

>	Anyone know of a workaround?

After considerable experimentation while finishing R4, we were not
able to find one.  Since it was just a warning, we punted.