From: Simon Marchi <simon.marchi@ericsson.com>
To: <gdb-patches@sourceware.org>
Cc: Keith Seitz <keiths@redhat.com>,
Simon Marchi <simon.marchi@ericsson.com>
Subject: [PATCH] Fix compile-cplus-types.c build errors
Date: Thu, 30 Aug 2018 14:43:00 -0000 [thread overview]
Message-ID: <1535640184-20543-1-git-send-email-simon.marchi@ericsson.com> (raw)
I see these errors when building with clang:
CXX compile/compile-cplus-types.o
/home/emaisin/src/binutils-gdb/gdb/compile/compile-cplus-types.c:262:61: error: cannot pass non-trivial object of type 'compile_scope' to variadic function; expected type from format string was 'void *' [-Wnon-pod-varargs]
fprintf_unfiltered (gdb_stdlog, "entering new scope %p\n", new_scope);
~~ ^~~~~~~~~
/home/emaisin/src/binutils-gdb/gdb/compile/compile-cplus-types.c:306:56: error: cannot pass non-trivial object of type 'compile_scope' to variadic function; expected type from format string was 'void *' [-Wnon-pod-varargs]
fprintf_unfiltered (gdb_stdlog, "leaving scope %p\n", current);
~~ ^~~~~~~
/home/emaisin/src/binutils-gdb/gdb/compile/compile-cplus-types.c:1058:13: error: comparison of two values with different enumeration types ('enum_flags<gcc_cp_qualifiers>::enum_type' (aka 'gcc_cp_qualifiers') and 'gcc_cp_ref_qualifiers') [-Werror,-Wenum-compare]
if (quals != GCC_CP_REF_QUAL_NONE)
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
Fix the first two by taking the address of the object.
Fix the third one by comparing to 0 instead. I think the current
comparison simply uses the wrong enum type. Comparing to 0 seems like
the right thing to do, because we want to check whether any flags are
specified.
gdb/ChangeLog:
* compile/compile-cplus-types.c
(compile_cplus_instance::enter_scope): Take the address of scope
object.
(compile_cplus_instance::leave_scope): Likewise.
(compile_cplus_instance::convert_qualified_base): Compare quals
to 0.
---
gdb/compile/compile-cplus-types.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c
index 9425fc6..844c8ce 100644
--- a/gdb/compile/compile-cplus-types.c
+++ b/gdb/compile/compile-cplus-types.c
@@ -259,7 +259,7 @@ compile_cplus_instance::enter_scope (compile_scope &new_scope)
if (must_push)
{
if (debug_compile_cplus_scopes)
- fprintf_unfiltered (gdb_stdlog, "entering new scope %p\n", new_scope);
+ fprintf_unfiltered (gdb_stdlog, "entering new scope %p\n", &new_scope);
/* Push the global namespace. */
plugin ().push_namespace ("");
@@ -303,7 +303,7 @@ compile_cplus_instance::leave_scope ()
if (current.m_pushed)
{
if (debug_compile_cplus_scopes)
- fprintf_unfiltered (gdb_stdlog, "leaving scope %p\n", current);
+ fprintf_unfiltered (gdb_stdlog, "leaving scope %p\n", ¤t);
/* Pop namespaces. */
std::for_each
@@ -1055,7 +1055,7 @@ compile_cplus_instance::convert_qualified_base (gcc_type base,
{
gcc_type result = base;
- if (quals != GCC_CP_REF_QUAL_NONE)
+ if (quals != 0)
result = plugin ().build_qualified_type (base, quals);
return result;
--
2.7.4
next reply other threads:[~2018-08-30 14:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-30 14:43 Simon Marchi [this message]
2018-08-30 15:05 ` Joel Brobecker
2018-08-30 15:06 ` Tom Tromey
2018-08-30 15:13 ` Simon Marchi
2018-08-30 15:28 ` Tom Tromey
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=1535640184-20543-1-git-send-email-simon.marchi@ericsson.com \
--to=simon.marchi@ericsson.com \
--cc=gdb-patches@sourceware.org \
--cc=keiths@redhat.com \
/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