This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
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