GDB (API)
|
#include "gdbtypes.h"
C++ language-specific information for TYPE_CODE_STRUCT and TYPE_CODE_UNION nodes.
Definition at line 1623 of file gdbtypes.h.
__extension__ enum dwarf_calling_convention cplus_struct_type::calling_convention |
The calling convention for this type, fetched from the DW_AT_calling_convention attribute. The value is one of the DW_CC constants.
Definition at line 1669 of file gdbtypes.h.
struct fn_fieldlist* cplus_struct_type::fn_fieldlists |
For classes, structures, and unions, a description of each field, which consists of an overloaded name, followed by the types of arguments that the method expects, and then the name after it has been renamed to make it distinct.
fn_fieldlists points to an array of nfn_fields of these.
Definition at line 1718 of file gdbtypes.h.
B_TYPE* cplus_struct_type::ignore_field_bits |
For classes with fields to be ignored, either this is optimized out or this field has length 0.
Definition at line 1709 of file gdbtypes.h.
int cplus_struct_type::is_dynamic |
One if this struct is a dynamic class, as defined by the Itanium C++ ABI: if it requires a virtual table pointer, because it or any of its base classes have one or more virtual member functions or virtual base classes. Minus one if not dynamic. Zero if not yet computed.
Definition at line 1663 of file gdbtypes.h.
short cplus_struct_type::n_baseclasses |
Number of base classes this type derives from. The baseclasses are stored in the first N_BASECLASSES fields (i.e. the ‘fields’ field of the struct type). The only fields of struct field that are used are: type, name, loc.bitpos.
Definition at line 1630 of file gdbtypes.h.
Number of template arguments.
Definition at line 1655 of file gdbtypes.h.
struct decl_field* cplus_struct_type::nested_types |
The nested types defined by this type. nested_types points to an array of nested_types_count elements.
Definition at line 1730 of file gdbtypes.h.
unsigned cplus_struct_type::nested_types_count |
Definition at line 1732 of file gdbtypes.h.
short cplus_struct_type::nfn_fields |
Number of methods with unique names. All overloaded methods with the same name count only once.
Definition at line 1651 of file gdbtypes.h.
B_TYPE* cplus_struct_type::private_field_bits |
For classes with private fields, the number of fields is given by nfields and private_field_bits is a bit vector containing one bit per field.
If the field is private, the corresponding bit will be set.
Definition at line 1696 of file gdbtypes.h.
B_TYPE* cplus_struct_type::protected_field_bits |
For classes with protected fields, the number of fields is given by nfields and protected_field_bits is a bit vector containing one bit per field.
If the field is private, the corresponding bit will be set.
Definition at line 1704 of file gdbtypes.h.
The template arguments. This is an array with N_TEMPLATE_ARGUMENTS elements. This is NULL for non-template classes.
Definition at line 1738 of file gdbtypes.h.
struct decl_field* cplus_struct_type::typedef_field |
typedefs defined inside this class. typedef_field points to an array of typedef_field_count elements.
Definition at line 1723 of file gdbtypes.h.
unsigned cplus_struct_type::typedef_field_count |
Definition at line 1725 of file gdbtypes.h.
B_TYPE* cplus_struct_type::virtual_field_bits |
For derived classes, the number of base classes is given by n_baseclasses and virtual_field_bits is a bit vector containing one bit per base class. If the base class is virtual, the corresponding bit will be set. I.E, given:
class A{}; class B{}; class C : public B, public virtual A {};
B is a baseclass of C; A is a virtual baseclass for C. This is a C++ 2.0 language feature.
Definition at line 1688 of file gdbtypes.h.
The base class which defined the virtual function table pointer.
Definition at line 1673 of file gdbtypes.h.
short cplus_struct_type::vptr_fieldno |
Field number of the virtual function table pointer in VPTR_BASETYPE. All access to this field must be through TYPE_VPTR_FIELDNO as one thing it does is check whether the field has been initialized. Initially TYPE_RAW_CPLUS_SPECIFIC has the value of cplus_struct_default, which for portability reasons doesn't initialize this field. TYPE_VPTR_FIELDNO returns -1 for this case.
If -1, we were unable to find the virtual function table pointer in initial symbol reading, and get_vptr_fieldno should be called to find it if possible. get_vptr_fieldno will update this field if possible. Otherwise the value is left at -1.
Unused if this type does not have virtual functions.
Definition at line 1646 of file gdbtypes.h.