[gimp/gimp-2-10] m4macros: update ax_gcc_func_attribute.m4 to serial 12



commit d46812839c0a0b4850a6c9afc2607e7461563b34
Author: Ming Chen <ming a chen intel com>
Date:   Tue Mar 17 10:42:32 2020 +0800

    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.
    
    (cherry picked from commit 7a4254dda1c0e514cfa0dbeb7f1b236688eb90fc)

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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]