--- Begin Message ---
Subject: |
FTBFS c-stack under gcc 4.8 with --enable-gcc-warnings |
Date: |
Wed, 25 Sep 2013 12:01:01 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
I tried to build diffutils from git on my Fedora 19 machine:
$ gcc --version |head -n1
gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1)
It's dying inside of gnulib's c-stack:
CC c-stack.o
c-stack.c: In function 'segv_handler':
c-stack.c:163:12: error: function might be candidate for attribute
'pure' if it is known to return normally [-Werror=suggest-attribute=pure]
static int segv_handler (void *address __attribute__ ((unused)),
^
cc1: all warnings being treated as errors
I don't know if this is a case of diffutils being too aggressive about
the warnings it uses on gnulib files (after all, at least coreutils
explicitly uses fewer warnings for gnulib files than for its own), or if
it is something we should be fixing in gnulib.
More interesting, the function is only pure if DEBUG was not enabled
during compilation, so if we do decide to fix it in gnulib, the fix has
to use the same condition on whether to apply the attribute.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug-diffutils] bug#15463: FTBFS c-stack under gcc 4.8 with --enable-gcc-warnings |
Date: |
Thu, 26 Sep 2013 12:21:44 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
On 09/25/13 11:01, Eric Blake wrote:
> I don't know if this is a case of diffutils being too aggressive about
> the warnings it uses on gnulib files
Yes, that sounds good enough. I pushed this into diffutils:
>From 1d69c1591812101e2dffa64c45e2f1c3c901fadc Mon Sep 17 00:00:00 2001
From: Paul Eggert <address@hidden>
Date: Thu, 26 Sep 2013 12:20:00 -0700
Subject: [PATCH] build: omit -Wsuggest-attribute=pure for lib
* configure.ac (WARN_CFLAGS): Omit -Wsuggest-attribute=pure
when compiling the lib subdirectory. Reported for Fedora 19
by Eric Blake in <http://bugs.gnu.org/15463>.
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 90bebc9..f7efcb1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -123,6 +123,7 @@ if test "$gl_gcc_warnings" = yes; then
nw="$nw -Wunused-macros"
nw="$nw -Wmissing-prototypes"
nw="$nw -Wold-style-definition"
+ nw="$nw -Wsuggest-attribute=pure"
gl_MANYWARN_COMPLEMENT([GNULIB_WARN_CFLAGS], [$WARN_CFLAGS], [$nw])
AC_SUBST([GNULIB_WARN_CFLAGS])
fi
--
1.8.3.1
--- End Message ---