about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/aix/bits/socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/aix/bits/socket.h')
-rw-r--r--sysdeps/unix/sysv/aix/bits/socket.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/aix/bits/socket.h b/sysdeps/unix/sysv/aix/bits/socket.h
index 45877fade4..1fdadfe082 100644
--- a/sysdeps/unix/sysv/aix/bits/socket.h
+++ b/sysdeps/unix/sysv/aix/bits/socket.h
@@ -203,14 +203,13 @@ struct cmsghdr
 				   of cmsghdr structure.  */
     int cmsg_level;		/* Originating protocol.  */
     int cmsg_type;		/* Protocol specific type.  */
-#if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2
-    unsigned char __cmsg_data[0]; /* Ancillary data.  */
-    /* XXX Perhaps this should be removed.  */
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
+    __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data.  */
 #endif
   };
 
 /* Ancillary data object manipulation macros.  */
-#if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2
+#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L
 # define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
 #else
 # define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))