Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: gdb-patches@sourceware.org
Subject: Re: MI: type prefixes for values
Date: Fri, 24 Mar 2006 21:02:00 -0000	[thread overview]
Message-ID: <20060324202056.GA26748@nevyn.them.org> (raw)
In-Reply-To: <e00anu$f6m$1@sea.gmane.org>

On Fri, Mar 24, 2006 at 11:30:54AM +0300, Vladimir Prus wrote:
> > Looking at Eclipse:
> >   cdi/org/eclipse/cdt/debug/mi/core/cdi/model/type/IntegralValue.java
> > 
> >                 // Coming from a reference
> >                 if (valueString.startsWith("@")) { //$NON-NLS-1$
> >                         valueString = valueString.substring(1);
> >                         int colon = valueString.indexOf(':');
> >                         if (colon != -1) {
> >                                 valueString = valueString.substring(colon
> >                                 + 1);
> >                         }
> 
> So, Eclipse is manually parsing the "value" string? I pretty sure I've heard
> either Bob, or Eli say this is not good idea. In fact, I suspect I heard
> both of them say this.

Heck, I've said it too.  However, in the real world, we need to be a
bit careful of frontends which do it.  I strongly discourage new
frontends doing so, but I also try not to break existing frontends
which do - this is an extension of "be liberal in what you accept,
but conservative in what you generate".

> >                 } else {
> > 
> > It wants to show the value in its variables window, not the reference.
> > So this patch would break it.
> > 
> > So, should we change common_val_print, do you think?
> 
> Short-term, this might be a solution. But note again that depending on
> textual "value" field is bad idea in any case.

That's not actually what I meant - I'm not thinking of MI here. 
common_val_print gets called from a number of places:

- varobj c_value_of_variable, used by Insight and MI
  (-var-list-children, -var-evaluate-expression, -var-assign,
   -var-update).

- print_frame_args, where it is used to deliberately print
  only the address of a reference.  I'm not entirely sure why.

- Languages, to implement value_print - not relevant right now.

> Long-term the right solution is:
> 
>   - Port the Apple change that allows to get variable objects for all
>     local variables in one command.

This sounds sensible.

>   - Port Apple change that add 'typecode' field to variable objects

I understand why they did this, but should we really be exposing GDB's
internal type system this way?  I'd want to see what it gets used for,
and probably define it independently of the existing type codes.

>   - Add command/variable object format to deference references
>   - Teach Eclipse that for variable object with "reference" typecode,
>     it should dereference variable object, or whatever is appropriate.
> 
> This could be a long process, though. 

Yes indeed.  Hmm.

-- 
Daniel Jacobowitz
CodeSourcery


  reply	other threads:[~2006-03-24 20:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <dt43qh$sns$1@sea.gmane.org>
2006-03-13  2:44 ` Nick Roberts
2006-03-17 19:32   ` Vladimir Prus
2006-03-17 19:41     ` Daniel Jacobowitz
2006-03-21 14:58       ` Vladimir Prus
2006-03-24  4:30         ` Daniel Jacobowitz
2006-03-24  9:46           ` Vladimir Prus
2006-03-24 21:02             ` Daniel Jacobowitz [this message]
2006-04-06  8:42               ` Vladimir Prus
2006-04-28  6:32                 ` Vladimir Prus
2006-05-05 19:25                   ` Daniel Jacobowitz
2006-05-06  9:59                     ` Nick Roberts
2006-05-15 16:57                       ` Daniel Jacobowitz
2006-05-16  6:10                         ` Nick Roberts
2007-02-03  5:31                         ` MI: type prefixes for values [PATCH] Nick Roberts
2007-02-04 14:16                           ` Daniel Jacobowitz
2007-02-04 21:46                             ` Nick Roberts
2006-03-17 22:25   ` MI: type prefixes for values Daniel Jacobowitz
2006-03-18 18:39     ` Nick Roberts
2006-03-20  6:50       ` Daniel Jacobowitz
2006-03-21 10:22         ` Nick Roberts
2006-03-24  4:25           ` Daniel Jacobowitz
2006-03-24  5:26             ` 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=20060324202056.GA26748@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb-patches@sourceware.org \
    /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