From 7a4254dda1c0e514cfa0dbeb7f1b236688eb90fc Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Tue, 17 Mar 2020 10:42:32 +0800 Subject: [PATCH] m4macros: update ax_gcc_func_attribute.m4 to serial 12 The serial 7 of m4macros/ax_gcc_func_attribute.m4 has an issue that when Wstrict-prototypes is used with gcc, the attribute detection always fails even if the attribute is actually supported. In such case the fish cache will never be constructed. It's fixed in serial 12 of the macro in autoconf-archive and this change updates the one distributed with GIMP to serial 12. --- m4macros/ax_gcc_func_attribute.m4 | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/m4macros/ax_gcc_func_attribute.m4 b/m4macros/ax_gcc_func_attribute.m4 index 077962f837..da2b1acceb 100644 --- a/m4macros/ax_gcc_func_attribute.m4 +++ b/m4macros/ax_gcc_func_attribute.m4 @@ -38,9 +38,11 @@ # dllimport # error # externally_visible +# fallthrough # flatten # format # format_arg +# gnu_format # gnu_inline # hot # ifunc @@ -53,6 +55,8 @@ # nothrow # optimize # pure +# sentinel +# sentinel_position # unused # used # visibility @@ -74,7 +78,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 7 +#serial 12 AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) @@ -128,12 +132,18 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [externally_visible], [ int foo( void ) __attribute__(($1)); ], + [fallthrough], [ + int foo( void ) {switch (0) { case 1: __attribute__(($1)); case 2: break ; }}; + ], [flatten], [ int foo( void ) __attribute__(($1)); ], [format], [ int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); ], + [gnu_format], [ + int foo(const char *p, ...) __attribute__((format(gnu_printf, 1, 2))); + ], [format_arg], [ char *foo(const char *p) __attribute__(($1(1))); ], @@ -175,6 +185,12 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [pure], [ int foo( void ) __attribute__(($1)); ], + [sentinel], [ + int foo(void *p, ...) __attribute__(($1)); + ], + [sentinel_position], [ + int foo(void *p, ...) __attribute__(($1(1))); + ], [returns_nonnull], [ void *foo( void ) __attribute__(($1)); ], @@ -212,7 +228,7 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ dnl GCC doesn't exit with an error if an unknown attribute is dnl provided but only outputs a warning, so accept the attribute dnl only if no warning were issued. - [AS_IF([test -s conftest.err], + [AS_IF([grep -- -Wattributes conftest.err], [AS_VAR_SET([ac_var], [no])], [AS_VAR_SET([ac_var], [yes])])], [AS_VAR_SET([ac_var], [no])])