aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-valprint.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2010-05-13 23:53:32 +0000
committerMichael Snyder <msnyder@vmware.com>2010-05-13 23:53:32 +0000
commitc5504eafbce9ab0ea4d9aa7f222d7b75a6c77531 (patch)
tree296c321c47907882ffc668af19edd04ec67851c3 /gdb/cp-valprint.c
parentcc59ec59c88e97e6e674db776fed9b197dffce33 (diff)
downloadgdb-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.c9
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)