Re: MI/C++/references fixup

Vladimir Prus
2006-11-30T07:31:29Z

On Thursday 30 November 2006 02:54, you wrote:
> > > > > In C++ it can't meaningfully change. In a program, though, it
> > > > > can; once when it's initialized, and again if something scribbles
> > > > > on the stack. And that might be what you're trying to debug. So,
> > > > > I'm a little wary of this; it seems to me that we ought to check
> > > > > for both changes in the address and value (sort of like we do for
> > > > > watchpoints).
>
> I'm not that familiar with references but presumably the idea is not to
> have to think about the address otherwise you might as well use a pointer.
>
> > > > In practice, if the address changes, the value also changes, so the
> > > > user can notice. Second, if user really wants to get the address, he
> > > > can do that with "&whatever".
> > >
> > > I suppose that's true. Want to post an updated patch, and we'll see
> > > if anyone has a reason to keep it? We're leaving the CLI as it was,
> > > this time.
> >
> > Here's it.
> >
> > - Volodya
> >
> > * varobj.c (varobj_create): Don't call release_value.
> > (varobj_set_value): Likewise.
> > (install_new_value): Call coerce_ref and release_value
> > on the value. Add asserts.
>
> This changes to varobj.c look good to me.
>
> * gdb.mi/mi-cpp.exp: New file.
> * gdb.mi/mi-cpp.cpp: New file.
>
> gdb.mi/mi-var-cp.exp?
> gdb.mi/mi-var-cp.cc?
>
> Its for variable objects, and for consistency. The testsuite has the
> directory gdb.cp and it's populated with *.cc files

I've no problems with 'cp' and '.cc'. I don't think that '-var-' is good --
now, there is just single MI test dealing with C++, so I want a testcase that
will accumulate all C++ specific things, not necessary related to variable
objects. But I don't care much.

- Volodya