From: Pedro Alves <palves@redhat.com>
To: Paul Koning <paulkoning@comcast.net>,
Simon Marchi <simon.marchi@polymtl.ca>
Cc: "gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: GDB 8.1 build error
Date: Fri, 27 Apr 2018 19:10:00 -0000 [thread overview]
Message-ID: <c744d369-801b-c29f-dd3d-961c57ebec74@redhat.com> (raw)
In-Reply-To: <D029885B-D093-4416-9957-371E3D08495E@comcast.net>
On 04/27/2018 07:44 PM, 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>( )
We silence those currently for gcc with "-Wno-narrowing" (in gdb/warning.m4).
Looks like clang uses a different spelling for that warning [-Wc++11-narrowing].
Or ... does it? This:
https://clang.llvm.org/docs/DiagnosticsReference.html#wnarrowing
says that -Wnarrowing is synonym for -Wc++11-narrowing. So is that a clang bug?
Adding that to gdb/warning.m4 (and regenerating gdb/configure gdb/gdbserver/configure
should fix it). That is, until we actual fix the code to not require
silencing the warning (https://sourceware.org/bugzilla/show_bug.cgi?id=23087),
but that's a larger chunk of work.
Oh, wait.... Your build line has no "-W" at all, it has "-w" instead??
How did that happen?
>
> I then asked specifically for probe.o ("cd gdb && make probe.o"):
>
> 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 probe.o -MT probe.o -MMD -MP -MF ./.deps/probe.Tpo /Users/pkoning/Downloads/gdb-8.1/gdb/probe.c
> /Users/pkoning/Downloads/gdb-8.1/gdb/probe.c:63:28: error: default
> initialization of an object of const type 'const any_static_probe_ops'
> without a user-provided default constructor
> const any_static_probe_ops any_static_probe_ops;
> ^
> {}
Right, that's ill-formed, thus a gdb bug. A const POD must either
be initialized, or have a user-declared default constructor.
So adding an explicit initializer like clang is suggesting should fix it:
const any_static_probe_ops any_static_probe_ops = {};
Thanks,
Pedro Alves
next prev parent reply other threads:[~2018-04-27 19:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-27 18:02 Paul Koning
2018-04-27 18:38 ` Simon Marchi
2018-04-27 18:57 ` Paul Koning
2018-04-27 19:01 ` Paul Koning
2018-04-27 19:08 ` Simon Marchi
2018-04-27 19:18 ` Paul Koning
2018-04-27 20:41 ` Paul Koning
2018-04-27 19:10 ` Pedro Alves [this message]
2018-04-27 19:39 ` Simon Marchi
2018-04-27 20:00 ` Pedro Alves
2018-04-27 20:16 ` Pedro Alves
2018-04-27 20:24 ` Simon Marchi
2018-04-27 20:41 ` Pedro Alves
2018-04-27 20:48 ` Simon Marchi
2018-05-02 9:42 ` Pedro Alves
2018-05-02 10:13 ` Pedro Alves
2018-04-27 19:10 ` Simon Marchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c744d369-801b-c29f-dd3d-961c57ebec74@redhat.com \
--to=palves@redhat.com \
--cc=gdb@sourceware.org \
--cc=paulkoning@comcast.net \
--cc=simon.marchi@polymtl.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox