From: Jim Blandy <jimb@codesourcery.com>
To: Vladimir Prus <ghost@cs.msu.su>
Cc: gdb-patches@sources.redhat.com
Subject: Re: MI: fix base members in references
Date: Tue, 05 Dec 2006 21:32:00 -0000 [thread overview]
Message-ID: <m3bqmi110n.fsf@codesourcery.com> (raw)
In-Reply-To: <el3rsa$crg$1@sea.gmane.org> (Vladimir Prus's message of "Tue, 05 Dec 2006 16:23:16 +0300")
Vladimir Prus <ghost@cs.msu.su> writes:
> *PING*? This is one-liner, and causes no regressions, so should be
> non-controversial.
(By the way --- it's handy to include a link to the post with the
patch, or ideally the patch itself.)
Here's the original patch:
Index: varobj.c
===================================================================
RCS file: /cvs/src/src/gdb/varobj.c,v
retrieving revision 1.62
diff -u -p -r1.62 varobj.c
--- varobj.c 29 Nov 2006 06:41:13 -0000 1.62
+++ varobj.c 29 Nov 2006 12:51:53 -0000
@@ -2428,8 +2428,9 @@ cplus_value_of_child (struct varobj *par
{
struct value *temp = NULL;
+ /* No special processing for references is needed --
+ value_cast below handles references. */
if (TYPE_CODE (value_type (parent->value)) == TYPE_CODE_PTR
- || TYPE_CODE (value_type (parent->value)) == TYPE_CODE_REF)
{
if (!gdb_value_ind (parent->value, &temp))
return NULL;
How should this behave if parent->value is a reference to a pointer?
Shouldn't it follow the ref, and then behave the same as when it's a
pointer? If so, then the fix would be something like this instead
(not that I understand this code):
*** varobj.c 29 Nov 2006 15:47:40 -0800 1.62
--- varobj.c 05 Dec 2006 13:31:51 -0800
***************
*** 2426,2441 ****
/* Baseclass */
if (parent->value != NULL)
{
! struct value *temp = NULL;
! if (TYPE_CODE (value_type (parent->value)) == TYPE_CODE_PTR
! || TYPE_CODE (value_type (parent->value)) == TYPE_CODE_REF)
{
! if (!gdb_value_ind (parent->value, &temp))
return NULL;
}
- else
- temp = parent->value;
if (temp != NULL)
{
--- 2426,2439 ----
/* Baseclass */
if (parent->value != NULL)
{
! struct value *temp = coerce_ref (parent->value);
! if (TYPE_CODE (value_type (temp)) == TYPE_CODE_PTR
! || TYPE_CODE (value_type (temp)) == TYPE_CODE_REF)
{
! if (!gdb_value_ind (temp, &temp))
return NULL;
}
if (temp != NULL)
{
next prev parent reply other threads:[~2006-12-05 21:32 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-29 12:56 Vladimir Prus
2006-12-05 13:23 ` Vladimir Prus
2006-12-05 21:32 ` Jim Blandy [this message]
2006-12-05 20:59 ` Nick Roberts
2006-12-05 21:12 ` Daniel Jacobowitz
2006-12-05 21:25 ` Nick Roberts
2006-12-05 21:47 ` Daniel Jacobowitz
2006-12-05 22:27 ` Jim Blandy
2006-12-06 8:44 ` Vladimir Prus
2006-12-07 2:22 ` Nick Roberts
2006-12-07 5:24 ` Nick Roberts
2006-12-07 6:22 ` Vladimir Prus
2006-12-07 6:53 ` Vladimir Prus
2006-12-07 10:36 ` Nick Roberts
2006-12-08 12:53 ` Vladimir Prus
2006-12-09 22:10 ` Vladimir Prus
2006-12-05 20:45 ` Daniel Jacobowitz
2006-12-06 9:04 ` Vladimir Prus
2006-12-06 20:29 ` Joel Brobecker
2006-12-06 20:33 ` Vladimir Prus
2006-12-09 21:27 Nick Roberts
2006-12-09 21:38 ` Vladimir Prus
2006-12-09 21:50 ` Nick Roberts
2006-12-09 22:15 ` Vladimir Prus
2006-12-10 4:19 ` Nick Roberts
2006-12-10 11:24 ` Vladimir Prus
2006-12-10 20:09 ` Nick Roberts
2006-12-10 20:42 ` Daniel Jacobowitz
2006-12-10 21:20 ` Nick Roberts
2006-12-11 2:35 ` Daniel Jacobowitz
2006-12-11 5:58 ` Nick Roberts
2006-12-11 7:22 ` Vladimir Prus
2006-12-11 8:03 ` Nick Roberts
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=m3bqmi110n.fsf@codesourcery.com \
--to=jimb@codesourcery.com \
--cc=gdb-patches@sources.redhat.com \
--cc=ghost@cs.msu.su \
/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