This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[ob] unbreak MI
- From: Vladimir Prus <ghost at cs dot msu dot su>
- To: gdb-patches at sources dot redhat dot com
- Date: Fri, 31 Aug 2007 22:44:57 +0400
- Subject: [ob] unbreak MI
It appears that some of recent cleanups broke MI, because
check_typedef is getting passed a NULL pointer -- this
suggest someone did not run a testsuite prior to commit ;-).
It does not matter which particular patch broke it, because
it's trivially fixable by the attached patch, checked in
as obvious.
- Volodya
? 1.diff
? 2.diff
? 3.diff
? unbreak_mi.diff
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.8659
diff -u -p -r1.8659 ChangeLog
--- ChangeLog 30 Aug 2007 13:13:58 -0000 1.8659
+++ ChangeLog 31 Aug 2007 18:41:20 -0000
@@ -1,3 +1,8 @@
+2007-08-31 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-cmd-var.c (print_varobj): If a varobj
+ type is NULL, don't try to print it.
+
2007-08-30 Alan Modra <amodra@bigpond.net.au>
* ppc-linux-nat.c (right_fill_reg): Delete.
Index: mi/mi-cmd-var.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmd-var.c,v
retrieving revision 1.38
diff -u -p -r1.38 mi-cmd-var.c
--- mi/mi-cmd-var.c 28 Aug 2007 20:34:18 -0000 1.38
+++ mi/mi-cmd-var.c 31 Aug 2007 18:41:20 -0000
@@ -47,6 +47,7 @@ static void
print_varobj (struct varobj *var, enum print_values print_values,
int print_expression)
{
+ struct type *gdb_type;
char *type;
ui_out_field_string (uiout, "name", varobj_get_objname (var));
@@ -54,7 +55,8 @@ print_varobj (struct varobj *var, enum p
ui_out_field_string (uiout, "exp", varobj_get_expression (var));
ui_out_field_int (uiout, "numchild", varobj_get_num_children (var));
- if (mi_print_value_p (varobj_get_gdb_type (var), print_values))
+ gdb_type = varobj_get_gdb_type (var);
+ if (gdb_type && mi_print_value_p (gdb_type, print_values))
ui_out_field_string (uiout, "value", varobj_get_value (var));
type = varobj_get_type (var);