aboutsummaryrefslogtreecommitdiff
path: root/gdb/hpacc-abi.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2002-01-04 18:20:19 +0000
committerDaniel Jacobowitz <drow@false.org>2002-01-04 18:20:19 +0000
commit1514d34ee09f4a99b7f87f308c642a8df525255a (patch)
treefa06aad2b28c05567871a7a4c3febd83d623bd98 /gdb/hpacc-abi.c
parent7f8c9282581cbc3f7e13d8c5a6f20e086bf2ad7b (diff)
downloadgdb-1514d34ee09f4a99b7f87f308c642a8df525255a.zip
gdb-1514d34ee09f4a99b7f87f308c642a8df525255a.tar.gz
gdb-1514d34ee09f4a99b7f87f308c642a8df525255a.tar.bz2
2002-01-04 Daniel Jacobowitz <drow@mvista.com>
* cp-abi.c: Fix whitespace. (baseclass_offset): New wrapper function. * cp-abi.h (baseclass_offset): Add prototype. (struct cp_abi_ops): Add baseclass_offset pointer. * valops.c (vb_match): Move to... * gnu-v2-abi.c (vb_match): here. * valops.c (baseclass_offset): Move to... * gnu-v2-abi.c (gnuv2_baseclass_offset): here, and rename. * gnu-v3-abi.c (gnuv3_baseclass_offset): New function. * gnu-v2-abi.c (init_gnuv2_ops): Initialize baseclass_offset. * gnu-v3-abi.c (init_gnuv3_ops): Likewise. * hpacc-abi.c (init_hpacc_ops): Likewise.
Diffstat (limited to 'gdb/hpacc-abi.c')
-rw-r--r--gdb/hpacc-abi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/hpacc-abi.c b/gdb/hpacc-abi.c
index 4dcb1c3..6753cd7 100644
--- a/gdb/hpacc-abi.c
+++ b/gdb/hpacc-abi.c
@@ -287,6 +287,8 @@ hpacc_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
return rtti_type;
}
+extern int gnuv2_baseclass_offset (struct type *type, int index,
+ char *valaddr, CORE_ADDR address);
static void
init_hpacc_ops (void)
@@ -300,6 +302,11 @@ init_hpacc_ops (void)
hpacc_abi_ops.is_operator_name = hpacc_is_operator_name;
hpacc_abi_ops.virtual_fn_field = hpacc_virtual_fn_field;
hpacc_abi_ops.rtti_type = hpacc_value_rtti_type;
+ /* It seems that this function is specific to GNU G++ < 3.0.
+ However, it is called for data members even in the HP
+ case (although not for member functions).
+ FIXME: Is that correct? */
+ hpacc_abi_ops.baseclass_offset = gnuv2_baseclass_offset;
}