aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mi/mi-cmd-var.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b45ccf4..182df0c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
index 38213e6..05fe7a9 100644
--- a/gdb/mi/mi-cmd-var.c
+++ b/gdb/mi/mi-cmd-var.c
@@ -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 print_values print_values,
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);