diff options
author | Michael Snyder <msnyder@vmware.com> | 2010-05-13 23:53:32 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2010-05-13 23:53:32 +0000 |
commit | c5504eafbce9ab0ea4d9aa7f222d7b75a6c77531 (patch) | |
tree | 296c321c47907882ffc668af19edd04ec67851c3 /gdb/cp-valprint.c | |
parent | cc59ec59c88e97e6e674db776fed9b197dffce33 (diff) | |
download | gdb-c5504eafbce9ab0ea4d9aa7f222d7b75a6c77531.zip gdb-c5504eafbce9ab0ea4d9aa7f222d7b75a6c77531.tar.gz gdb-c5504eafbce9ab0ea4d9aa7f222d7b75a6c77531.tar.bz2 |
2010-05-13 Michael Snyder <msnyder@vmware.com>
* charset.c: White space.
* c-lang.c: White space.
* cli-out.c: White space.
* coffread.c: White space.
* complaints.c: White space.
* completer.c: White space.
* corefile.c: White space.
* corelow.c: White space.
* cp-abi.c: White space.
* cp-namespace.c: White space.
* cp-support.c: White space.
* cp-valprint.c: White space.
* c-typeprint.c: White space.
* c-valprint.c: White space.
Diffstat (limited to 'gdb/cp-valprint.c')
-rw-r--r-- | gdb/cp-valprint.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 64aa3e0..3fbb1f1 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -198,6 +198,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, { stat_array_obstack_initial_size = obstack_object_size (&dont_print_stat_array_obstack); + last_set_recurse = recurse; } } @@ -280,6 +281,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, else { struct value_print_options opts = *options; + opts.deref_ref = 0; v = value_from_longest (TYPE_FIELD_TYPE (type, i), @@ -298,6 +300,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, else if (field_is_static (&TYPE_FIELD (type, i))) { struct value *v = value_static_field (type, i); + if (v == NULL) fputs_filtered ("<optimized out>", stream); else @@ -307,6 +310,7 @@ cp_print_value_fields (struct type *type, struct type *real_type, else { struct value_print_options opts = *options; + opts.deref_ref = 0; val_print (TYPE_FIELD_TYPE (type, i), valaddr, offset + TYPE_FIELD_BITPOS (type, i) / 8, @@ -374,7 +378,8 @@ cp_print_value_fields_rtti (struct type *type, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value_print_options *options, - struct type **dont_print_vb, int dont_print_statmem) + struct type **dont_print_vb, + int dont_print_statmem) { struct value *value; int full, top, using_enc; @@ -462,6 +467,7 @@ cp_print_value (struct type *type, struct type *real_type, { /* FIXME (alloca): unsafe if baseclass is really really large. */ gdb_byte *buf = alloca (TYPE_LENGTH (baseclass)); + base_valaddr = buf; if (target_read_memory (address + boffset, buf, TYPE_LENGTH (baseclass)) != 0) @@ -697,6 +703,7 @@ cp_print_class_member (const gdb_byte *valaddr, struct type *type, if (domain != NULL) { char *name; + fputs_filtered (prefix, stream); name = type_name_no_tag (domain); if (name) |