Please replace "#define Status int" by "typedef int Status;" - others want to use that name, too.
Submitted by Viktor Dick
Assigned to Xorg Project Team
Description
When I, for example, try to complie clutter-gtkmm on ArchLinux, I get a rather confusing error message. If compiling with clang, it becomes clearer:
In file included from embed.cc:4:
In file included from ../clutter-gtkmm/embed.h:27:
In file included from /usr/include/gtkmm-3.0/gtkmm/container.h:30:
In file included from /usr/include/gtkmm-3.0/gtkmm/widget.h:41:
In file included from /usr/include/gdkmm-3.0/gdkmm/event.h:27:
/usr/include/gdkmm-3.0/gdkmm/types.h:198:6: error: unnamed enumeration must be a definition
enum Status
^
/usr/include/X11/Xlib.h:87:16: note: expanded from:
#define Status int
^
So Xlib.h:87 defines the type Status and no one else can use it. I know this is C, so it has no namespaces, but it has typedefs (in Xlib.h:84 a typedef is used). I fixed it locally, maybe you can fix it upstream. It is not critical, but I don't think that you get much bugreports that are that easy to fix.
Thanks
Edited by Alan Coopersmith