summaryrefslogtreecommitdiff
path: root/gdb/cp-abi.h
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2001-07-06 19:17:05 +0000
committerDaniel Berlin <dberlin@dberlin.org>2001-07-06 19:17:05 +0000
commitefae50153d4577bd05fc34b76c47bdca79982233 (patch)
treeebfdde719009a58b2f719cb06926eb6aab787aba /gdb/cp-abi.h
parentd30f071864b3938dd9d197547c65b33980a243f8 (diff)
downloadgdb-cvs/dberlin-typesystem-branch.tar.gz
Note that this currently isn't building, i'm in the middle of converting make_function_type/lookup_function_type
Diffstat (limited to 'gdb/cp-abi.h')
-rw-r--r--gdb/cp-abi.h11
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