aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/derivation.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-09-27 16:04:23 +0000
committerTom Tromey <tromey@redhat.com>2012-09-27 16:04:23 +0000
commit7977e5d2a6287c48bbfe41fdc5fc795b58e98dfe (patch)
treea3010f595c4802223eaaf34634ba36b76a153e77 /gdb/testsuite/gdb.cp/derivation.cc
parent807160da3c24f9a8adfb0c2b04352ab56ebc1d61 (diff)
downloadfsf-binutils-gdb-7977e5d2a6287c48bbfe41fdc5fc795b58e98dfe.zip
fsf-binutils-gdb-7977e5d2a6287c48bbfe41fdc5fc795b58e98dfe.tar.gz
fsf-binutils-gdb-7977e5d2a6287c48bbfe41fdc5fc795b58e98dfe.tar.bz2
Fix https://bugzilla.redhat.com/show_bug.cgi?id=849357
* cp-valprint.c (cp_print_value_fields): Use get_vptr_fieldno. gdb/testsuite * gdb.cp/derivation.exp: Add regression test. * gdb.cp/derivation.cc (class V_base, class V_inter, class V_derived): New. (vderived): New global.
Diffstat (limited to 'gdb/testsuite/gdb.cp/derivation.cc')
-rw-r--r--gdb/testsuite/gdb.cp/derivation.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.cp/derivation.cc b/gdb/testsuite/gdb.cp/derivation.cc
index 942fcd2..fcd57ce 100644
--- a/gdb/testsuite/gdb.cp/derivation.cc
+++ b/gdb/testsuite/gdb.cp/derivation.cc
@@ -118,8 +118,37 @@ public:
};
+class V_base
+{
+public:
+ virtual void m();
+ int base;
+};
+
+void
+V_base::m()
+{
+}
+
+class V_inter : public virtual V_base
+{
+public:
+ virtual void f();
+ int inter;
+};
+
+void
+V_inter::f()
+{
+}
+class V_derived : public V_inter
+{
+public:
+ double x;
+};
+V_derived vderived;
int A::afoo() {
return 1;