From: Daiki Ueno Date: Wed, 16 Jul 2014 06:19:30 +0000 (+0900) Subject: intl: Consolidate fallback _GL_* macro definitions into intl.m4 X-Git-Tag: v0.19.2.1~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f8e2ccaa854fc17ac3d5412d944160aa2e78ea5;p=thirdparty%2Fgettext.git intl: Consolidate fallback _GL_* macro definitions into intl.m4 We had defined _GL_* macros used by libintl itself in the corresponding C files. However, it will increase divergence between Gnulib and gettext. This patch moves the fallback macro definitions into M4 and emit them only when the project is not using Gnulib. * gettext-runtime/m4/intl.m4 (gt_GL_ATTRIBUTE): New macro. (AM_INTL_SUBDIR): Require gt_GL_ATTRIBUTE. * gettext-runtime/intl/localename.c: Update from Gnulib. 2014-07-10 Assaf Gordon localename: avoid -Wsuggest-attribute={const,pure} warnings * lib/localename.c (string_hash): Tag internal function as pure. * gettext-runtime/intl/xsize.c (XSIZE_INLINE): Remove _GL_UNUSED definition. It will be set through intl.m4. * Makefile.am (distcheck-hook): Add back localename.c check. --- diff --git a/ChangeLog b/ChangeLog index ed02dbad2..4517273ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-07-16 Daiki Ueno + + * Makefile.am (distcheck-hook): Add back localename.c check. + 2014-07-14 Daiki Ueno * gettext 0.19.2 released. diff --git a/Makefile.am b/Makefile.am index c71b4ace0..22fe6144d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -75,7 +75,7 @@ distcheck-hook: test "`sed 1,17d gettext-runtime/intl/config.charset | md5sum`" = "`sed 1,17d gettext-tools/gnulib-lib/config.charset | md5sum`" test "`sed 1,16d gettext-runtime/intl/localcharset.h | md5sum`" = "`sed 1,16d gettext-tools/gnulib-lib/localcharset.h | md5sum`" test "`sed 1,16d gettext-runtime/intl/localcharset.c | md5sum`" = "`sed 1,16d gettext-tools/gnulib-lib/localcharset.c | md5sum`" -# test "`sed 1,16d gettext-runtime/intl/localename.c | md5sum`" = "`sed 1,16d gettext-tools/gnulib-lib/localename.c | md5sum`" + test "`sed 1,16d gettext-runtime/intl/localename.c | md5sum`" = "`sed 1,16d gettext-tools/gnulib-lib/localename.c | md5sum`" test "`sed 1,15d gettext-runtime/intl/lock.h | md5sum`" = "`sed 1,15d gettext-tools/gnulib-lib/glthread/lock.h | md5sum`" test "`sed 1,15d gettext-runtime/intl/lock.c | md5sum`" = "`sed -e 1,15d -e 's,glthread/,,g' gettext-tools/gnulib-lib/glthread/lock.c | md5sum`" test "`sed 1,16d gettext-runtime/intl/verify.h | md5sum`" = "`sed 1,16d gettext-tools/gnulib-lib/verify.h | md5sum`" diff --git a/gettext-runtime/intl/ChangeLog b/gettext-runtime/intl/ChangeLog index 9f44bf0ed..c249299c7 100644 --- a/gettext-runtime/intl/ChangeLog +++ b/gettext-runtime/intl/ChangeLog @@ -1,3 +1,12 @@ +2014-07-16 Daiki Ueno + + * localename.c: Update from Gnulib. + 2014-07-10 Assaf Gordon + localename: avoid -Wsuggest-attribute={const,pure} warnings + * lib/localename.c (string_hash): Tag internal function as pure. + * xsize.c (XSIZE_INLINE): Remove _GL_UNUSED definition. It will + be set through intl.m4. + 2014-07-14 Daiki Ueno * gettext 0.19.2 released. diff --git a/gettext-runtime/intl/localename.c b/gettext-runtime/intl/localename.c index 108dd6f14..6cdd6cbfb 100644 --- a/gettext-runtime/intl/localename.c +++ b/gettext-runtime/intl/localename.c @@ -2515,7 +2515,7 @@ gl_locale_name_from_win32_LCID (LCID lcid) /* A hash function for NUL-terminated char* strings using the method described by Bruno Haible. See http://www.haible.de/bruno/hashfunc.html. */ -static size_t +static size_t _GL_ATTRIBUTE_PURE string_hash (const void *x) { const char *s = (const char *) x; diff --git a/gettext-runtime/intl/xsize.c b/gettext-runtime/intl/xsize.c index 87d8add45..4b4914c2c 100644 --- a/gettext-runtime/intl/xsize.c +++ b/gettext-runtime/intl/xsize.c @@ -1,17 +1,3 @@ #include - -/* XSIZE_INLINE can be expanded to _GL_UNUSED, which is defined through - a gnulib-tool magic. Define it here so not to require Gnulib. */ -#if defined IN_LIBINTL && !defined GL_UNUSED -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -# else -# define _GL_UNUSED -# endif -#endif - #define XSIZE_INLINE _GL_EXTERN_INLINE #include "xsize.h" diff --git a/gettext-runtime/m4/ChangeLog b/gettext-runtime/m4/ChangeLog index 55dae9ec3..7db4c7ead 100644 --- a/gettext-runtime/m4/ChangeLog +++ b/gettext-runtime/m4/ChangeLog @@ -1,3 +1,8 @@ +2014-07-16 Daiki Ueno + + * intl.m4 (gt_GL_ATTRIBUTE): New macro. + (AM_INTL_SUBDIR): Require gt_GL_ATTRIBUTE. + 2014-07-14 Daiki Ueno * gettext 0.19.2 released. diff --git a/gettext-runtime/m4/intl.m4 b/gettext-runtime/m4/intl.m4 index 1fd396c18..1747af909 100644 --- a/gettext-runtime/m4/intl.m4 +++ b/gettext-runtime/m4/intl.m4 @@ -1,4 +1,4 @@ -# intl.m4 serial 26 (gettext-0.19) +# intl.m4 serial 27 (gettext-0.19) dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -43,6 +43,7 @@ AC_DEFUN([AM_INTL_SUBDIR], AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl AC_REQUIRE([gl_EXTERN_INLINE])dnl + AC_REQUIRE([gt_GL_ATTRIBUTE])dnl dnl Support for automake's --enable-silent-rules. case "$enable_silent_rules" in @@ -269,3 +270,29 @@ changequote([,])dnl INTLBISON=: fi ]) + +dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from +dnl gnulib-common.m4 as a fallback, if the project isn't using Gnulib. +AC_DEFUN([gt_GL_ATTRIBUTE], [ + m4_ifndef([gl_[]COMMON], + AH_VERBATIM([gt_gl_attribute], +[/* Define as a marker that can be attached to declarations that might not + be used. This helps to reduce warnings, such as from + GCC -Wunused-parameter. */ +#ifndef _GL_UNUSED +# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_UNUSED +# endif +#endif + +/* The __pure__ attribute was added in gcc 2.96. */ +#ifndef _GL_ATTRIBUTE_PURE +# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE /* empty */ +# endif +#endif +]))])