* Bruno Haible: >> This kind of narrowing initialization is no longer valid C++. > > Indeed, GCC 10.2.0 and clang give errors about this code when uses as C++ > code: > > $ gcc -Wall -O -S -x c++ foo.c > foo.c:156:1: error: narrowing conversion of '4294967295' from 'unsigned int' > to 'int' [-Wnarrowing] > 156 | }; > | ^ > foo.c:156:1: error: narrowing conversion of '2147483648' from 'unsigned int' > to 'int' [-Wnarrowing] > foo.c:156:1: error: narrowing conversion of '4294967295' from 'unsigned int' > to 'int' [-Wnarrowing] > > But why would this matter? This is C code, not C++ code.
Since gnulib is a copylib, it doesn't have much control over how it is built. It's one of the issues that came up while trying to build things with a C++ compiler instead of a C compiler.