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]

Re: Cast to a struct in expressions


> From: Daniel Berlin <dan@cgsoftware.com>
> Date: 27 Apr 2001 11:23:55 -0400
> 
> >   A parse error in expression, near `long foo; unsigned bar} *)foobar
> > 
> > Seems like the parser chokes on the struct declaration?
> Yes.
> >   Am I missing something?
> Yes, I think. The parser only handles expressions, nothing more.
> This is why it's c-exp.y, and not c.y.
> :)
> 
> If you have a real struct already defined, of course, and di
> 
> p/x *(sturct foostruct *)foobar
> 
> then *that* should work.

No, there's no such struct, otherwise I wouldn't be opting for this
complication ;-)

I'm still missing something, because I don't see how "*(struct foo *)x"
differs from "*(struct {long foo; unsigned bar;} *)x".  Both are valid
C expression syntax, so the parser should be able to parse them both.

I guess someone just stopped short of making this part of the parser,
because it looks like "struct <name>" is the only syntax it accepts.
Right?

Anyway, thanks for the feedback.


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