diff options
author | Tom Tromey <tromey@redhat.com> | 2012-03-15 15:49:42 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-03-15 15:49:42 +0000 |
commit | 410528f093e41d8d8ca5eae37d4bb57c98a3122b (patch) | |
tree | 3276d46c33ffc84c9bb1b28c99402a2fc4fbdfe7 /gdb/cp-valprint.c | |
parent | c4aeac856a297bbcf96e565e5bad277bfcff3c1b (diff) | |
download | gdb-410528f093e41d8d8ca5eae37d4bb57c98a3122b.zip gdb-410528f093e41d8d8ca5eae37d4bb57c98a3122b.tar.gz gdb-410528f093e41d8d8ca5eae37d4bb57c98a3122b.tar.bz2 |
* cp-valprint.c (cp_print_value_fields): Use
print_function_pointer_address for vtable slot.
gdb/testsuite
* gdb.cp/virtfunc2.exp: Update expected output.
* gdb.cp/pr9631.exp: Update expected output.
* gdb.cp/member-ptr.exp: Update expected output.
* gdb.cp/inherit.exp (test_print_mvi_classes): Update expected
output.
* gdb.cp/casts.exp: Update expected output.
Diffstat (limited to 'gdb/cp-valprint.c')
-rw-r--r-- | gdb/cp-valprint.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 1697006..cb85b0b 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -358,6 +358,17 @@ cp_print_value_fields (struct type *type, struct type *real_type, v, stream, recurse + 1, options); } + else if (i == TYPE_VPTR_FIELDNO (type)) + { + CORE_ADDR addr + = extract_typed_address (valaddr + offset + + TYPE_FIELD_BITSIZE (type, i) / 8, + TYPE_FIELD_TYPE (type, i)); + + print_function_pointer_address (get_type_arch (type), + addr, stream, + options->addressprint); + } else { struct value_print_options opts = *options; |