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.