Paolo Bonzini wrote: > On 01/03/2012 09:48 AM, Jim Meyering wrote: >> Paolo Bonzini wrote: >> >>> * bootstrap.conf: Add isatty module. >>> * gnulib: Update to latest. >>> * lib/colorize.h: Remove argument from should_colorize. >>> * lib/ms/colorize.h: Likewise. >>> * lib/colorize-impl.c: Factor isatty call out of here... >>> * lib/ms/colorize-impl.c: ... and here... >>> * src/main.c: ... into here. >> >> Hi Paolo, >> At least with gcc-4.7.0 20120102, a warning-enabled build now fails like >> this: >> >> colorize.c: In function 'init_colorize': >> colorize.c:37:6: error: function might be candidate for attribute >> const' [-Werror=suggest-attribute=const] >> cc1: all warnings being treated as errors > > Thanks, my GCC is indeed older. > > Perhaps GCC should be changed to avoid the warning on functions > returning void. If a void function can be const, it pretty much has > to be empty, and so it is quite likely a placeholder for something > that is not const.
To address grep's immediate problem -- I require use of --enable-gcc-warnings and want to continue using the newer gcc -- I have applied this: >From 082f0d1a771a2febcc14ffce13f44ed7c4553ad4 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Tue, 3 Jan 2012 10:25:37 +0100 Subject: [PATCH] build: avoid build failure with --enable-gcc-warnings and recent gcc * lib/colorize-posix.c: Disable -Wsuggest-attribute=const, to avoid warning about this empty init_colorize function. --- lib/colorize-posix.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/lib/colorize-posix.c b/lib/colorize-posix.c index 37bc640..116bbb2 100644 --- a/lib/colorize-posix.c +++ b/lib/colorize-posix.c @@ -16,6 +16,12 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +/* Without this pragma, gcc 4.7.0 20120102 suggests that the + init_colorize function might be candidate for attribute 'const' */ +#if (__GNUC__ == 4 && 6 <= __GNUC_MINOR__) || 4 < __GNUC__ +# pragma GCC diagnostic ignored "-Wsuggest-attribute=const" +#endif + #include <config.h> #include "colorize.h" -- 1.7.8.1.391.g2c2ad