Bug 48117 - Please replace "#define Status int" by "typedef int Status;" - others want to use that name, too.
Summary: Please replace "#define Status int" by "typedef int Status;" - others want to...
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xlib (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-31 05:33 UTC by Viktor Dick
Modified: 2018-08-10 20:10 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Viktor Dick 2012-03-31 05:33:49 UTC
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
Comment 1 GitLab Migration User 2018-08-10 20:10:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/lib/libx11/issues/15.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.