This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [ob] unbreak MI
> > Generally, with a NULL pointer, or and address that can't be dereferenced,
> > MI prints out the value field as value="".
> >
> > What is the problem in this case? Why isn't the right fix to add a
> > check_typedef somewhere?
>
> check_typedef? The original problem was that check_typedef was getting
> called on NULL pointer, so adding more check_typedef calls won't help.
> Probably:
>
> if (!gdb_type)
> ui_out_field_string (uiout, "value", "");
> else if (mi_print_value_p (gdb_type, print_values))
> ui_out_field_string (uiout, "value", varobj_get_value (var));
>
> is the right logic?
It's probably the right logic, but it seems to cure the symptom rather than the
cause. What I mean't, I guess, was where/how does check_typedef is get passed
a NULL pointer? And can't that call be conditioned (i.e. "add a *check* to
check_typedef") , e.g., something like:
if (!gdb_type)
check_typedef (gdb_type)
--
Nick http://www.inet.net.nz/~nickrob