[PATCH:libX11 1/3] Tell clang not to report -Wpadded warnings on public headers we can't fix
Alan Coopersmith
alan.coopersmith at oracle.com
Wed Dec 26 23:02:17 PST 2012
Better to silence the compiler warning than break ABI.
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
include/X11/Xcms.h | 12 ++++++++++++
include/X11/Xlib.h | 12 ++++++++++++
include/X11/Xlibint.h | 12 ++++++++++++
include/X11/Xutil.h | 12 ++++++++++++
4 files changed, 48 insertions(+)
diff --git a/include/X11/Xcms.h b/include/X11/Xcms.h
index 8151fd1..6631854 100644
--- a/include/X11/Xcms.h
+++ b/include/X11/Xcms.h
@@ -31,6 +31,14 @@
#include <X11/Xlib.h>
+/* The Xcms structs are full of implicit padding to properly align members.
+ We can't clean that up without breaking ABI, so tell clang not to bother
+ complaining about it. */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wpadded"
+#endif
+
/*
* XCMS Status Values
*/
@@ -798,6 +806,10 @@ extern Visual *XcmsVisualOfCCC (
XcmsCCC /* ccc */
);
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
_XFUNCPROTOEND
#endif /* _X11_XCMS_H_ */
diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h
index dd4c7c4..9618081 100644
--- a/include/X11/Xlib.h
+++ b/include/X11/Xlib.h
@@ -81,6 +81,14 @@ _Xmblen(
November 2000. Its presence is indicated through the following macro. */
#define X_HAVE_UTF8_STRING 1
+/* The Xlib structs are full of implicit padding to properly align members.
+ We can't clean that up without breaking ABI, so tell clang not to bother
+ complaining about it. */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wpadded"
+#endif
+
typedef char *XPointer;
#define Bool int
@@ -4019,6 +4027,10 @@ extern void XFreeEventData(
XGenericEventCookie* /* cookie*/
);
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
_XFUNCPROTOEND
#endif /* _X11_XLIB_H_ */
diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h
index 80edeec..23e751b 100644
--- a/include/X11/Xlibint.h
+++ b/include/X11/Xlibint.h
@@ -42,6 +42,14 @@ from The Open Group.
#include <X11/Xproto.h> /* to declare xEvent */
#include <X11/XlibConf.h> /* for configured options like XTHREADS */
+/* The Xlib structs are full of implicit padding to properly align members.
+ We can't clean that up without breaking ABI, so tell clang not to bother
+ complaining about it. */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wpadded"
+#endif
+
#ifdef WIN32
#define _XFlush _XFlushIt
#endif
@@ -1364,6 +1372,10 @@ extern void xlocaledir(
int buf_len
);
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
_XFUNCPROTOEND
#endif /* _X11_XLIBINT_H_ */
diff --git a/include/X11/Xutil.h b/include/X11/Xutil.h
index 8cab50e..62cdf55 100644
--- a/include/X11/Xutil.h
+++ b/include/X11/Xutil.h
@@ -53,6 +53,14 @@ SOFTWARE.
#include <X11/Xlib.h>
#include <X11/keysym.h>
+/* The Xlib structs are full of implicit padding to properly align members.
+ We can't clean that up without breaking ABI, so tell clang not to bother
+ complaining about it. */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wpadded"
+#endif
+
/*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
@@ -821,6 +829,10 @@ extern int XXorRegion(
Region /* dr_return */
);
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
_XFUNCPROTOEND
#endif /* _X11_XUTIL_H_ */
--
1.7.9.2
More information about the xorg-devel
mailing list