diff options
Diffstat (limited to 'gdb/cp-abi.h')
-rw-r--r-- | gdb/cp-abi.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/cp-abi.h b/gdb/cp-abi.h index bd5430d5a93..8b60180d314 100644 --- a/gdb/cp-abi.h +++ b/gdb/cp-abi.h @@ -146,6 +146,15 @@ struct cp_abi_ops int j, struct type * type, int offset); struct type *(*rtti_type) (value_ptr v, int *full, int *top, int *using_enc); + + /* Compute the offset of the INDEXth baseclass of class TYPE, for + value at VALADDR (in host) at ADDRESS (in target). The result + should be the offset of the baseclass value relative to the + ADDRESS. */ + int (*baseclass_offset) (struct type * type, int index, + value_ptr * arg1p, char *valaddr, + CORE_ADDR address, int offset); + }; @@ -154,6 +163,8 @@ extern int num_cp_abis; extern struct cp_abi_ops current_cp_abi; extern int register_cp_abi (struct cp_abi_ops abi); extern int switch_to_cp_abi (const char *short_name); +extern int baseclass_offset (struct type *type, int index, value_ptr * arg1p, + char *valaddr, CORE_ADDR address, int offset); #endif |