This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Handling of structure dereferencing


On Thu, Dec 06, 2001 at 09:47:50PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 6 Dec 2001 12:07:39 -0500
> > From: Daniel Jacobowitz <drow@mvista.com>
> > 
> > Right now, and historically, gdb has accepted things like:
> >   struct foo {char a} *b, **c, ***d;
> > 
> > (gdb) print b.a
> > (gdb) print d->a
> 
> You mean, instead of b->a and (**d)->a, yes?

Yes, exactly.

> > So, straw poll: how would people feel about:
> >  - not letting this happen; only explicit dereferencing
> 
> I don't mind in this specific case, but I wonder whether there isn't
> some iceberg of which this is only a tip.  We do want GDB to continue
> to print a string when you say "p str", and str is a pointer to a
> string, right?  It's quite possible that the same machinery which
> supports printing arrays also causes the above.

I don't think that's the case; printing a char* does not involve
implicit dereferencing (if it did, you'd only get the first character).

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]