> On 02/10/2024 01:54, Yuri Kanivetsky wrote: > > Hi, > > > > https://gist.github.com/x-yuri/883efd92dff6a1ee77b14cff41c4fb12
This has: CC lib/libcoreutils_a-localcharset.o lib/localcharset.c:93:33: error: 'alias_table' defined but not used [-Werror=unused-const-variable=] 93 | static const struct table_entry alias_table[] = | ^~~~~~~~~~~ cc1: all warnings being treated as errors make[2]: *** [Makefile:15556: lib/libcoreutils_a-localcharset.o] Error 1 localcharset.c is gnulib code. Compiling gnulib code with -Werror is unsupported. This has been stated several times on this mailing list. (We try to avoid warnings on systems with the newest glibc and the newest gcc and just -Wall, but that is only because we want to see as few warnings as possible in our own manual builds.) For most packages that use Gnulib, gnulib-tool creates, in the directory that contains the Gnulib sources, a Makefile.am that uses $(GL_CFLAG_GNULIB_WARNINGS) and that is supposed to get rid of pointless warnings. In coreutils, gnulib-tool does not create a Makefile.am but a file 'lib/gnulib.mk', and that uses $(GL_CFLAG_GNULIB_WARNINGS) as well. This warning, in particular, is pointless because it is just noise from the compiler: "hey look, I am able to eliminate this const array, look how good a compiler I am!". Just like -Wunused-function warnings that we already eliminate through GL_CFLAG_GNULIB_WARNINGS. Done through the patch below. 2024-10-02 Bruno Haible <br...@clisp.org> Silence -Wunused-const-variable warnings in Gnulib code. Reported by Yuri Kanivetsky <yuri.kanivet...@gmail.com> via Pádraig Brady in <https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00007.html>. * m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Add -Wno-unused-const-variable whenever it is supported. diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index e40bb9ddc4..1fec5c5ce1 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,5 +1,5 @@ # gnulib-common.m4 -# serial 104 +# serial 105 dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -1380,6 +1380,7 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS] dnl -Wno-type-limits >= 4.3 >= 3.9 dnl -Wno-undef >= 3 >= 3.9 dnl -Wno-unsuffixed-float-constants >= 4.5 + dnl -Wno-unused-const-variable >= 4.4 >= 3.9 dnl -Wno-unused-function >= 3 >= 3.9 dnl -Wno-unused-parameter >= 3 >= 3.9 dnl @@ -1409,6 +1410,9 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS] -Wno-sign-conversion -Wno-type-limits #endif + #if (__GNUC__ + (__GNUC_MINOR__ >= 4) > 4 && !defined __clang__) || (__clang_major__ + (__clang_minor__ >= 9) > 3) + -Wno-unused-const-variable + #endif #if (__GNUC__ + (__GNUC_MINOR__ >= 5) > 4 && !defined __clang__) -Wno-unsuffixed-float-constants #endif