Index: gconv.h =================================================================== RCS file: /cvs/glibc/libc/iconv/gconv.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- libc/iconv/gconv.h 2000/11/20 08:49:09 1.26 +++ libc/iconv/gconv.h 2000/11/27 17:52:35 1.27 @@ -168,7 +168,7 @@ { size_t __nsteps; struct __gconv_step *__steps; - __extension__ struct __gconv_step_data __data[0]; + __extension__ struct __gconv_step_data __data __flexarr; } *__gconv_t; #endif /* gconv.h */ Index: cdefs.h =================================================================== RCS file: /cvs/glibc/libc/misc/sys/cdefs.h,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- libc/misc/sys/cdefs.h 2000/10/07 22:23:10 1.40 +++ libc/misc/sys/cdefs.h 2000/11/27 17:51:56 1.41 @@ -93,6 +93,24 @@ #endif +/* Support for flexible arrays. */ +#if __GNUC_PREREQ (2,97) +/* GCC 2.97 supports C99 flexible array members. */ +# define __flexarr [] +#else +# ifdef __GNUC__ +# define __flexarr [0] +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __flexarr [] +# else +/* Some other non-C99 compiler. Approximate with [1]. */ +# define __flexarr [1] +# endif +# endif +#endif + + /* __asm__ ("xyz") is used throughout the headers to rename functions at the assembly language level. This is wrapped by the __REDIRECT macro, in order to support compilers that can do this some other