Re: GDB 8.1 build error

Simon Marchi
2018-04-27T19:10:16Z

On 2018-04-27 14:44, Paul Koning wrote:
> I had deleted the build test directory, so I repeated the operation.
> Got a failure again but a completely different one:
>
> g++ -x c++ -std=gnu++11 -g -O2 -I.
> -I/Users/pkoning/Downloads/gdb-8.1/gdb
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/common
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/config
> -DLOCALEDIR="\"/usr/local/trunk/share/locale\"" -DHAVE_CONFIG_H
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../include/opcode
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../opcodes/..
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../readline/..
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../zlib -I../bfd
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../bfd
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../include -I../libdecnumber
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/../libdecnumber
> -I/Users/pkoning/Downloads/gdb-8.1/gdb/gnulib/import
> -Ibuild-gnulib/import -DTUI=1
> -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
> -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
> -w -c -o completer.o -MT completer.o -MMD -MP -MF
> ./.deps/completer.Tpo /Users/pkoning/Downloads/gdb-8.1/gdb/completer.c
>
> /Users/pkoning/Downloads/gdb-8.1/gdb/completer.c:2041:23: error:
> non-constant-expression cannot be narrowed from type 'int' to
> 'char' in
> initializer list [-Wc++11-narrowing]
> char buf[2] = { quote_char () };
> ^~~~~~~~~~~~~
> /Users/pkoning/Downloads/gdb-8.1/gdb/completer.c:2041:23: note: insert
> an
> explicit cast to silence this issue
> char buf[2] = { quote_char () };
> ^~~~~~~~~~~~~
> static_cast<char>( )

For that problem, this warning should have been inhibited by
-Wno-narrowing as defined in gdb/warning.m4. I notice that you seem to
have no warning flags at all on your command line. That's probably
because when --disable-build-warnings is passed, we don't append any of
the -W* -Wno-* flags. But in that case, we should still append the
-Wno-* flags... So it sounds like an issue that should be fixed in
warning.m4. I'd suggest using --disable-werror instead: you'll see
warnings, but they'll be non-fatal.

Simon