diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-01-23 00:34:58 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-01-23 00:34:58 +0000 |
commit | 35aa91b97d1b00baea762e2a239bdc5386af0a0e (patch) | |
tree | a9ff1edeae75c645cfb484f871e246c4e74e6377 /binutils/debug.h | |
parent | d2f5fa493b32ad644449ae6ba936122611103621 (diff) | |
download | gdb-35aa91b97d1b00baea762e2a239bdc5386af0a0e.zip gdb-35aa91b97d1b00baea762e2a239bdc5386af0a0e.tar.gz gdb-35aa91b97d1b00baea762e2a239bdc5386af0a0e.tar.bz2 |
* debug.h (debug_get_type_size): Declare.
(debug_get_field_name): Declare.
(debug_get_field_bitpos): Declare.
(debug_get_field_bitsize): Declare.
(debug_get_field_visibility): Declare.
(debug_get_field_physname): Declare.
* debug.c (debug_get_real_type): Handle DEBUG_KIND_TAGGED.
(debug_get_type_size): New function.
(debug_get_field_name): New function.
(debug_get_field_bitpos): New function.
(debug_get_field_bitsize): New function.
(debug_get_field_visibility): New function.
(debug_get_field_physname): New function.
(debug_write_type): Make sure we pass the real kind, not INDIRECT,
to tag_type. Pass the name recursively for INDIRECT.
Diffstat (limited to 'binutils/debug.h')
-rw-r--r-- | binutils/debug.h | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/binutils/debug.h b/binutils/debug.h index 38ef789..05c450b 100644 --- a/binutils/debug.h +++ b/binutils/debug.h @@ -645,9 +645,9 @@ extern debug_type debug_make_undefined_tagged_type /* Make a base class for an object. The second argument is the base class type. The third argument is the bit position of this base - class in the object (always 0 unless doing multiple inheritance). - The fourth argument is whether this is a virtual class. The fifth - argument is the visibility of the base class. */ + class in the object. The fourth argument is whether this is a + virtual class. The fifth argument is the visibility of the base + class. */ extern debug_baseclass debug_make_baseclass PARAMS ((PTR, debug_type, bfd_vma, boolean, enum debug_visibility)); @@ -687,9 +687,7 @@ extern debug_method debug_make_method a const function. The sixth argument is whether this is a volatile function. The seventh argument is the offset in the virtual function table, if any. The eighth argument is the virtual - function context. FIXME: Are the const and volatile arguments - necessary? Could we just use debug_make_const_type? The handling - of the second argument is biased toward the way that stabs works. */ + function context. */ extern debug_method_variant debug_make_method_variant PARAMS ((PTR, const char *, debug_type, enum debug_visibility, boolean, @@ -733,6 +731,10 @@ extern enum debug_type_kind debug_get_type_kind PARAMS ((PTR, debug_type)); extern const char *debug_get_type_name PARAMS ((PTR, debug_type)); +/* Get the size of a type. */ + +extern bfd_vma debug_get_type_size PARAMS ((PTR, debug_type)); + /* Get the return type of a function or method type. */ extern debug_type debug_get_return_type PARAMS ((PTR, debug_type)); @@ -762,6 +764,30 @@ extern const debug_field *debug_get_fields PARAMS ((PTR, debug_type)); extern debug_type debug_get_field_type PARAMS ((PTR, debug_field)); +/* Get the name of a field. */ + +extern const char *debug_get_field_name PARAMS ((PTR, debug_field)); + +/* Get the bit position of a field within the containing structure. + If the field is a static member, this will return (bfd_vma) -1. */ + +extern bfd_vma debug_get_field_bitpos PARAMS ((PTR, debug_field)); + +/* Get the bit size of a field. If the field is a static member, this + will return (bfd_vma) -1. */ + +extern bfd_vma debug_get_field_bitsize PARAMS ((PTR, debug_field)); + +/* Get the visibility of a field. */ + +extern enum debug_visibility debug_get_field_visibility + PARAMS ((PTR, debug_field)); + +/* Get the physical name of a field, if it is a static member. If the + field is not a static member, this will return NULL. */ + +extern const char *debug_get_field_physname PARAMS ((PTR, debug_field)); + /* Write out the recorded debugging information. This takes a set of function pointers which are called to do the actual writing. The first PTR is the debugging handle. The second PTR is a handle |