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.
This commit is contained in:
Ming Chen 2020-03-17 10:42:32 +08:00
parent 2b2a6b03ed
commit 7a4254dda1
1 changed files with 18 additions and 2 deletions

View File

@ -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])])