Here's a proposed patch to fix a gnulib portability bug uncovered with gzip 1.5.
--- ChangeLog | 9 +++++++++ lib/gettext.h | 9 ++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b27ef8d..7dacfb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-07-11 Paul Eggert <egg...@cs.ucla.edu> + + gettext: do not assume '#define ... defined ...' behavior + * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): + Do not use '#define FOO ... defined BAR ...', as the C standard says + it's not portable to expect that this works after macro expansion. + Problem reported for gzip by Steven M. Schweda in + <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>. + 2012-07-10 Paul Eggert <egg...@cs.ucla.edu> getloadavg: clean out old Emacs and Autoconf cruft diff --git a/lib/gettext.h b/lib/gettext.h index 1c5cab9..c63d907 100644 --- a/lib/gettext.h +++ b/lib/gettext.h @@ -183,9 +183,12 @@ npgettext_aux (const char *domain, #include <string.h> -#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ - (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ - /* || __STDC_VERSION__ >= 199901L */ ) +#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ + /* || __STDC_VERSION__ >= 199901L */ ) +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 +#else +# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 +#endif #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS #include <stdlib.h> -- 1.7.6.5