Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Vladimir Prus <ghost@cs.msu.su>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: Daniel Jacobowitz <drow@false.org>,  gdb-patches@sources.redhat.com
Subject: Re: MI: fix base members in references
Date: Mon, 11 Dec 2006 07:22:00 -0000	[thread overview]
Message-ID: <200612111021.24255.ghost@cs.msu.su> (raw)
In-Reply-To: <17788.62054.684436.820815@kahikatea.snap.net.nz>

On Monday 11 December 2006 08:53, Nick Roberts wrote:

>  >                                                                  that's
>  > the important thing here.  What does not happen that you want to make
>  > happen, and why doesn't it happen?  The explanation in my previous
>  > message _should_ answer those questions, if I've understood the
>  > discussion right, but maybe it doesn't.
> 
> What doesn't work: references to pointers to structs/unions.
> 
> All my patch does is add an extra level of dereferencing to the relevant
> cplus_* functions.  Presumably you could also have references to references to

Fortnately, references to references do no exist.

> pointers, pointers to references to pointers etc 

Likewise, pointers to references do not exist either.

> so maybe the change should 
> look something like:
> 
>       while (TYPE_CODE (type) == TYPE_CODE_PTR)
>              || TYPE_CODE (type) == TYPE_CODE_REF)
> 	type = get_target_type (type);
> 
> but I suspect the business of fake children would make this awkward.

Then, if you have a pointer to pointer to pointer to struct, you'll collapse
the inner pointers, which might not be good idea.

I think the best short time fix might be to modify get_type_deref to first check
for reference, and after that check for pointer.

But what irks me most is that we have four functions that encapsulate knowledge of number of children
and how to get to them:

	*_number_of_children
	*_name_of_child
	*_value_of_child
	*_type_of_child

and all those functions are present for C and for C++. I'm thinking we can collapse the last
three functions into one, seriously cutting down on code duplication.

- Volodya



  reply	other threads:[~2006-12-11  7:22 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2006-12-11  8:03                   ` Nick Roberts
  -- strict thread matches above, loose matches on Subject: below --
2006-11-29 12:56 Vladimir Prus
2006-12-05 13:23 ` Vladimir Prus
2006-12-05 21:32   ` Jim Blandy
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

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=200612111021.24255.ghost@cs.msu.su \
    --to=ghost@cs.msu.su \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=nickrob@snap.net.nz \
    /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