Fix autoconf check for function attributes.
authorGuus Sliepen <guus@tinc-vpn.org>
Sun, 7 Jun 2015 20:25:22 +0000 (22:25 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Sun, 7 Jun 2015 20:25:22 +0000 (22:25 +0200)
GCC warns when a function attribute has no effect. The autoconf check
turns warnings about attributes into errors, therefore thinking that
they did not work. The reason was that the test function returned void,
which is not suitable for checking both __malloc__ and
__warn_unused_result__.

m4/attribute.m4

index 6a8f5558c9ef9b53a6744e03e2e507a5e48f6c06..9d673e969603094e0a7e878561ad805269a98e8e 100644 (file)
@@ -9,8 +9,8 @@ AC_DEFUN([tinc_ATTRIBUTE],
     CFLAGS="$CFLAGS -Wall -Werror"
     AC_COMPILE_IFELSE(
       [AC_LANG_SOURCE(
-        [void test(void) __attribute__ (($1));
-        void test(void) { return; }
+        [void *test(void) __attribute__ (($1));
+        void *test(void) { return (void *)0; }
        ],
        )],
        [tinc_cv_attribute_$1=yes],