This is the mail archive of the gdb-patches@sourceware.org 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: Language of registers


On Monday 27 November 2006 17:03, Daniel Jacobowitz wrote:

> I'd suggest that we don't need the fake "public" child for things of
> struct/union (as opposed to class) type that are 100% public.  We can't
> reliably detect struct vs class because debug info is often lacking the
> distinction, but union is easy.  I don't know if this might break some
> MI frontend though.  But the "public" child isn't even documented.

Documented or not, it seems Eclipse will break if we take it away. When 
opening a structure, code in 

    org.eclipse.cdt.debug.mi.core.cdi.model.Variable.getChildren 

assumes that is you have real (non-fake) structure, then all children of it 
are fake. It means that if you have 

	struct S { int i; };
        S s;

and create varobj V for 's' and 'i' becomes the immediate child of V, then
Eclipse will think V.i is fake child. Amoung other thing it will think that 
expression corresponding to 'V.i' is 's' -- not 's.i'. 

I don't know what to do about it. The right way is to 
implement -var-info-path-expression and get all frontends to update, and then 
remove 'public' for structures that have only public fields.

- Volodya





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