* 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.

Reply via email to