We can't clean it up without breaking ABI, so disable the warnings for it:

./include/X11/Xauth.h:33:19: warning: padding struct 'struct xauth' with 4 
bytes to align 'address' [-Wpadded]
    char            *address;
                     ^
./include/X11/Xauth.h:35:19: warning: padding struct 'struct xauth' with 6 
bytes to align 'number' [-Wpadded]
    char            *number;
                     ^
./include/X11/Xauth.h:37:19: warning: padding struct 'struct xauth' with 6 
bytes to align 'name' [-Wpadded]
    char            *name;
                     ^
./include/X11/Xauth.h:39:18: warning: padding struct 'struct xauth' with 6 
bytes to align 'data' [-Wpadded]
    char            *data;
                     ^

Signed-off-by: Alan Coopersmith <[email protected]>
---
 include/X11/Xauth.h |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/X11/Xauth.h b/include/X11/Xauth.h
index f57a1b3..a707bed 100644
--- a/include/X11/Xauth.h
+++ b/include/X11/Xauth.h
@@ -27,6 +27,14 @@ in this Software without prior written authorization from 
The Open Group.
 #ifndef _Xauth_h
 #define _Xauth_h
 
+/* struct xauth is full of implicit padding to properly align the pointers
+   after the length fields.   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 struct xauth {
     unsigned short   family;
     unsigned short   address_length;
@@ -39,6 +47,10 @@ typedef struct xauth {
     char           *data;
 } Xauth;
 
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
 #ifndef _XAUTH_STRUCT_ONLY
 
 # include   <X11/Xfuncproto.h>
-- 
1.7.9.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to