On Sat, Dec 21, 2024 at 9:45 AM Bruno Haible via Gnulib discussion
list <bug-gnulib@gnu.org> wrote:
Rudi Heitbaum wrote:
When compiling grub-2.12 with gcc-15-20241208 the following line causes
the following error:
https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/base64.c#n62
../../grub-core/lib/gnulib/base64.c:65:3:
error: initializer-string for array of 'char' is too long
[-Werror=unterminated-string-initialization]
65 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
No, this line is not causing an error. This line causes a warning, and
it is either your use of CPPFLAGS and CFLAGS or grub's configure.ac which
adds '-Werror' and thus turns the warning into an error.
Use of -Werror with gnulib is unsupported. We cannot avoid all compiler
warnings on all systems, in particular because some warnings are style
warnings and opposite warnings exist as well.
In this case, the code is perfectly fine: it initializes an array of
size 64 with 64 characters. There is no better way to write such an
initialization.
The string literal includes the trailing NULL, so the literal is 65
chars, not 64 char.