GDB (API)
|
#include "hashtab.h"
Go to the source code of this file.
Classes | |
struct | cu_offset |
struct | sect_offset |
union | dynamic_prop_data |
struct | dynamic_prop |
struct | dynamic_prop_list |
union | type_owner |
union | field_location |
struct | field |
struct | range_bounds |
union | type_specific |
struct | main_type |
struct | type |
struct | fn_fieldlist |
struct | fn_field |
struct | typedef_field |
struct | cplus_struct_type |
struct | rank |
struct | badness_vector |
struct | gnat_aux_type |
struct | func_type |
struct | call_site_target |
union | call_site_parameter_u |
struct | call_site_parameter |
struct | call_site |
struct | builtin_type |
struct | objfile_type |
Macros | |
#define | B_SET(a, x) ((a)[(x)>>3] |= (1 << ((x)&7))) |
#define | B_CLR(a, x) ((a)[(x)>>3] &= ~(1 << ((x)&7))) |
#define | B_TST(a, x) ((a)[(x)>>3] & (1 << ((x)&7))) |
#define | B_TYPE unsigned char |
#define | B_BYTES(x) ( 1 + ((x)>>3) ) |
#define | B_CLRALL(a, x) memset ((a), 0, B_BYTES(x)) |
#define | TYPE_UNSIGNED(t) (TYPE_MAIN_TYPE (t)->flag_unsigned) |
#define | TYPE_NOSIGN(t) (TYPE_MAIN_TYPE (t)->flag_nosign) |
#define | TYPE_STUB(t) (TYPE_MAIN_TYPE (t)->flag_stub) |
#define | TYPE_TARGET_STUB(t) (TYPE_MAIN_TYPE (t)->flag_target_stub) |
#define | TYPE_STATIC(t) (TYPE_MAIN_TYPE (t)->flag_static) |
#define | TYPE_PROTOTYPED(t) (TYPE_MAIN_TYPE (t)->flag_prototyped) |
#define | TYPE_INCOMPLETE(t) (TYPE_MAIN_TYPE (t)->flag_incomplete) |
#define | TYPE_VARARGS(t) (TYPE_MAIN_TYPE (t)->flag_varargs) |
#define | TYPE_VECTOR(t) (TYPE_MAIN_TYPE (t)->flag_vector) |
#define | TYPE_FIXED_INSTANCE(t) (TYPE_MAIN_TYPE (t)->flag_fixed_instance) |
#define | TYPE_STUB_SUPPORTED(t) (TYPE_MAIN_TYPE (t)->flag_stub_supported) |
#define | TYPE_NOTTEXT(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_NOTTEXT) |
#define | TYPE_GNU_IFUNC(t) (TYPE_MAIN_TYPE (t)->flag_gnu_ifunc) |
#define | TYPE_OBJFILE_OWNED(t) (TYPE_MAIN_TYPE (t)->flag_objfile_owned) |
#define | TYPE_OWNER(t) TYPE_MAIN_TYPE(t)->owner |
#define | TYPE_OBJFILE(t) (TYPE_OBJFILE_OWNED(t)? TYPE_OWNER(t).objfile : NULL) |
#define | TYPE_DECLARED_CLASS(t) (TYPE_MAIN_TYPE (t)->flag_declared_class) |
#define | TYPE_FLAG_ENUM(t) (TYPE_MAIN_TYPE (t)->flag_flag_enum) |
#define | TYPE_CONST(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_CONST) |
#define | TYPE_VOLATILE(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_VOLATILE) |
#define | TYPE_RESTRICT(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_RESTRICT) |
#define | TYPE_ATOMIC(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_ATOMIC) |
#define | TYPE_CODE_SPACE(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_CODE_SPACE) |
#define | TYPE_DATA_SPACE(t) (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_DATA_SPACE) |
#define | TYPE_ADDRESS_CLASS_1(t) |
#define | TYPE_ADDRESS_CLASS_2(t) |
#define | TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1 | TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2) |
#define | TYPE_ADDRESS_CLASS_ALL(t) |
#define | NULL_TYPE ((struct type *) 0) |
#define | VOFFSET_STATIC 1 |
#define | INIT_CPLUS_SPECIFIC(type) |
#define | ALLOCATE_CPLUS_STRUCT_TYPE(type) allocate_cplus_struct_type (type) |
#define | HAVE_CPLUS_STRUCT(type) |
#define | INIT_GNAT_SPECIFIC(type) |
#define | ALLOCATE_GNAT_AUX_TYPE(type) allocate_gnat_aux_type (type) |
#define | HAVE_GNAT_AUX_INFO(type) (TYPE_SPECIFIC_FIELD (type) == TYPE_SPECIFIC_GNAT_STUFF) |
#define | INIT_FUNC_SPECIFIC(type) |
#define | TYPE_INSTANCE_FLAGS(thistype) (thistype)->instance_flags |
#define | TYPE_MAIN_TYPE(thistype) (thistype)->main_type |
#define | TYPE_NAME(thistype) TYPE_MAIN_TYPE(thistype)->name |
#define | TYPE_TAG_NAME(type) TYPE_MAIN_TYPE(type)->tag_name |
#define | TYPE_TARGET_TYPE(thistype) TYPE_MAIN_TYPE(thistype)->target_type |
#define | TYPE_POINTER_TYPE(thistype) (thistype)->pointer_type |
#define | TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type |
#define | TYPE_CHAIN(thistype) (thistype)->chain |
#define | TYPE_LENGTH(thistype) (thistype)->length |
#define | TYPE_CODE(thistype) TYPE_MAIN_TYPE(thistype)->code |
#define | TYPE_NFIELDS(thistype) TYPE_MAIN_TYPE(thistype)->nfields |
#define | TYPE_FIELDS(thistype) TYPE_MAIN_TYPE(thistype)->flds_bnds.fields |
#define | TYPE_INDEX_TYPE(type) TYPE_FIELD_TYPE (type, 0) |
#define | TYPE_RANGE_DATA(thistype) TYPE_MAIN_TYPE(thistype)->flds_bnds.bounds |
#define | TYPE_LOW_BOUND(range_type) TYPE_RANGE_DATA(range_type)->low.data.const_val |
#define | TYPE_HIGH_BOUND(range_type) TYPE_RANGE_DATA(range_type)->high.data.const_val |
#define | TYPE_LOW_BOUND_UNDEFINED(range_type) (TYPE_RANGE_DATA(range_type)->low.kind == PROP_UNDEFINED) |
#define | TYPE_HIGH_BOUND_UNDEFINED(range_type) (TYPE_RANGE_DATA(range_type)->high.kind == PROP_UNDEFINED) |
#define | TYPE_HIGH_BOUND_KIND(range_type) TYPE_RANGE_DATA(range_type)->high.kind |
#define | TYPE_LOW_BOUND_KIND(range_type) TYPE_RANGE_DATA(range_type)->low.kind |
#define | TYPE_DATA_LOCATION(thistype) get_dyn_prop (DYN_PROP_DATA_LOCATION, thistype) |
#define | TYPE_DATA_LOCATION_BATON(thistype) TYPE_DATA_LOCATION (thistype)->data.baton |
#define | TYPE_DATA_LOCATION_ADDR(thistype) TYPE_DATA_LOCATION (thistype)->data.const_val |
#define | TYPE_DATA_LOCATION_KIND(thistype) TYPE_DATA_LOCATION (thistype)->kind |
#define | TYPE_DYN_PROP_LIST(thistype) TYPE_MAIN_TYPE(thistype)->dyn_prop_list |
#define | TYPE_DYN_PROP_BATON(dynprop) dynprop->data.baton |
#define | TYPE_DYN_PROP_ADDR(dynprop) dynprop->data.const_val |
#define | TYPE_DYN_PROP_KIND(dynprop) dynprop->kind |
#define | TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED(arraytype) TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) |
#define | TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) |
#define | TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype)))) |
#define | TYPE_ARRAY_LOWER_BOUND_VALUE(arraytype) (TYPE_LOW_BOUND(TYPE_INDEX_TYPE((arraytype)))) |
#define | TYPE_SELF_TYPE(thistype) internal_type_self_type (thistype) |
#define | TYPE_VPTR_FIELDNO(thistype) internal_type_vptr_fieldno (thistype) |
#define | TYPE_VPTR_BASETYPE(thistype) internal_type_vptr_basetype (thistype) |
#define | TYPE_NFN_FIELDS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->nfn_fields |
#define | TYPE_SPECIFIC_FIELD(thistype) TYPE_MAIN_TYPE(thistype)->type_specific_field |
#define | TYPE_CPLUS_SPECIFIC(thistype) |
#define | TYPE_RAW_CPLUS_SPECIFIC(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.cplus_stuff |
#define | TYPE_FLOATFORMAT(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.floatformat |
#define | TYPE_GNAT_SPECIFIC(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.gnat_stuff |
#define | TYPE_DESCRIPTIVE_TYPE(thistype) TYPE_GNAT_SPECIFIC(thistype)->descriptive_type |
#define | TYPE_CALLING_CONVENTION(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->calling_convention |
#define | TYPE_NO_RETURN(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->is_noreturn |
#define | TYPE_TAIL_CALL_LIST(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->tail_call_list |
#define | TYPE_BASECLASS(thistype, index) TYPE_FIELD_TYPE(thistype, index) |
#define | TYPE_N_BASECLASSES(thistype) TYPE_CPLUS_SPECIFIC(thistype)->n_baseclasses |
#define | TYPE_BASECLASS_NAME(thistype, index) TYPE_FIELD_NAME(thistype, index) |
#define | TYPE_BASECLASS_BITPOS(thistype, index) TYPE_FIELD_BITPOS(thistype,index) |
#define | BASETYPE_VIA_PUBLIC(thistype, index) ((!TYPE_FIELD_PRIVATE(thistype, index)) && (!TYPE_FIELD_PROTECTED(thistype, index))) |
#define | TYPE_CPLUS_DYNAMIC(thistype) TYPE_CPLUS_SPECIFIC (thistype)->is_dynamic |
#define | TYPE_CPLUS_REALLY_JAVA(thistype) TYPE_CPLUS_SPECIFIC (thistype)->is_java |
#define | BASETYPE_VIA_VIRTUAL(thistype, index) |
#define | FIELD_TYPE(thisfld) ((thisfld).type) |
#define | FIELD_NAME(thisfld) ((thisfld).name) |
#define | FIELD_LOC_KIND(thisfld) ((thisfld).loc_kind) |
#define | FIELD_BITPOS_LVAL(thisfld) ((thisfld).loc.bitpos) |
#define | FIELD_BITPOS(thisfld) (FIELD_BITPOS_LVAL (thisfld) + 0) |
#define | FIELD_ENUMVAL_LVAL(thisfld) ((thisfld).loc.enumval) |
#define | FIELD_ENUMVAL(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0) |
#define | FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname) |
#define | FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr) |
#define | FIELD_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block) |
#define | SET_FIELD_BITPOS(thisfld, bitpos) |
#define | SET_FIELD_ENUMVAL(thisfld, enumval) |
#define | SET_FIELD_PHYSNAME(thisfld, name) |
#define | SET_FIELD_PHYSADDR(thisfld, addr) |
#define | SET_FIELD_DWARF_BLOCK(thisfld, addr) |
#define | FIELD_ARTIFICIAL(thisfld) ((thisfld).artificial) |
#define | FIELD_BITSIZE(thisfld) ((thisfld).bitsize) |
#define | TYPE_FIELD(thistype, n) TYPE_MAIN_TYPE(thistype)->flds_bnds.fields[n] |
#define | TYPE_FIELD_TYPE(thistype, n) FIELD_TYPE(TYPE_FIELD(thistype, n)) |
#define | TYPE_FIELD_NAME(thistype, n) FIELD_NAME(TYPE_FIELD(thistype, n)) |
#define | TYPE_FIELD_LOC_KIND(thistype, n) FIELD_LOC_KIND (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n)) |
#define | TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n)) |
#define | TYPE_FIELD_BITSIZE(thistype, n) FIELD_BITSIZE(TYPE_FIELD(thistype,n)) |
#define | TYPE_FIELD_PACKED(thistype, n) (FIELD_BITSIZE(TYPE_FIELD(thistype,n))!=0) |
#define | TYPE_FIELD_PRIVATE_BITS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits |
#define | TYPE_FIELD_PROTECTED_BITS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits |
#define | TYPE_FIELD_IGNORE_BITS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits |
#define | TYPE_FIELD_VIRTUAL_BITS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits |
#define | SET_TYPE_FIELD_PRIVATE(thistype, n) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n)) |
#define | SET_TYPE_FIELD_PROTECTED(thistype, n) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n)) |
#define | SET_TYPE_FIELD_IGNORE(thistype, n) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits, (n)) |
#define | SET_TYPE_FIELD_VIRTUAL(thistype, n) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) |
#define | TYPE_FIELD_PRIVATE(thistype, n) |
#define | TYPE_FIELD_PROTECTED(thistype, n) |
#define | TYPE_FIELD_IGNORE(thistype, n) |
#define | TYPE_FIELD_VIRTUAL(thistype, n) |
#define | TYPE_FN_FIELDLISTS(thistype) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists |
#define | TYPE_FN_FIELDLIST(thistype, n) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n] |
#define | TYPE_FN_FIELDLIST1(thistype, n) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].fn_fields |
#define | TYPE_FN_FIELDLIST_NAME(thistype, n) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].name |
#define | TYPE_FN_FIELDLIST_LENGTH(thistype, n) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].length |
#define | TYPE_N_TEMPLATE_ARGUMENTS(thistype) TYPE_CPLUS_SPECIFIC (thistype)->n_template_arguments |
#define | TYPE_TEMPLATE_ARGUMENTS(thistype) TYPE_CPLUS_SPECIFIC (thistype)->template_arguments |
#define | TYPE_TEMPLATE_ARGUMENT(thistype, n) TYPE_CPLUS_SPECIFIC (thistype)->template_arguments[n] |
#define | TYPE_FN_FIELD(thisfn, n) (thisfn)[n] |
#define | TYPE_FN_FIELD_PHYSNAME(thisfn, n) (thisfn)[n].physname |
#define | TYPE_FN_FIELD_TYPE(thisfn, n) (thisfn)[n].type |
#define | TYPE_FN_FIELD_ARGS(thisfn, n) TYPE_FIELDS ((thisfn)[n].type) |
#define | TYPE_FN_FIELD_CONST(thisfn, n) ((thisfn)[n].is_const) |
#define | TYPE_FN_FIELD_VOLATILE(thisfn, n) ((thisfn)[n].is_volatile) |
#define | TYPE_FN_FIELD_PRIVATE(thisfn, n) ((thisfn)[n].is_private) |
#define | TYPE_FN_FIELD_PROTECTED(thisfn, n) ((thisfn)[n].is_protected) |
#define | TYPE_FN_FIELD_PUBLIC(thisfn, n) ((thisfn)[n].is_public) |
#define | TYPE_FN_FIELD_STATIC(thisfn, n) ((thisfn)[n].is_static) |
#define | TYPE_FN_FIELD_FINAL(thisfn, n) ((thisfn)[n].is_final) |
#define | TYPE_FN_FIELD_SYNCHRONIZED(thisfn, n) ((thisfn)[n].is_synchronized) |
#define | TYPE_FN_FIELD_NATIVE(thisfn, n) ((thisfn)[n].is_native) |
#define | TYPE_FN_FIELD_ARTIFICIAL(thisfn, n) ((thisfn)[n].is_artificial) |
#define | TYPE_FN_FIELD_ABSTRACT(thisfn, n) ((thisfn)[n].is_abstract) |
#define | TYPE_FN_FIELD_STUB(thisfn, n) ((thisfn)[n].is_stub) |
#define | TYPE_FN_FIELD_CONSTRUCTOR(thisfn, n) ((thisfn)[n].is_constructor) |
#define | TYPE_FN_FIELD_FCONTEXT(thisfn, n) ((thisfn)[n].fcontext) |
#define | TYPE_FN_FIELD_VOFFSET(thisfn, n) ((thisfn)[n].voffset-2) |
#define | TYPE_FN_FIELD_VIRTUAL_P(thisfn, n) ((thisfn)[n].voffset > 1) |
#define | TYPE_FN_FIELD_STATIC_P(thisfn, n) ((thisfn)[n].voffset == VOFFSET_STATIC) |
#define | TYPE_TYPEDEF_FIELD_ARRAY(thistype) TYPE_CPLUS_SPECIFIC (thistype)->typedef_field |
#define | TYPE_TYPEDEF_FIELD(thistype, n) TYPE_CPLUS_SPECIFIC (thistype)->typedef_field[n] |
#define | TYPE_TYPEDEF_FIELD_NAME(thistype, n) TYPE_TYPEDEF_FIELD (thistype, n).name |
#define | TYPE_TYPEDEF_FIELD_TYPE(thistype, n) TYPE_TYPEDEF_FIELD (thistype, n).type |
#define | TYPE_TYPEDEF_FIELD_COUNT(thistype) TYPE_CPLUS_SPECIFIC (thistype)->typedef_field_count |
#define | TYPE_IS_OPAQUE(thistype) |
#define | TYPE_SAFE_NAME(type) (TYPE_NAME (type) ? TYPE_NAME (type) : _("<unnamed type>")) |
#define | TYPE_ERROR_NAME(type) (TYPE_NAME (type) ? TYPE_NAME (type) : _("<error type>")) |
#define | TYPE_ALLOC(t, size) |
#define | TYPE_ZALLOC(t, size) |
#define | CHECK_TYPEDEF(TYPE) |
#define | LENGTH_MATCH(bv) ((bv)->rank[0]) |
Functions | |
void | allocate_cplus_struct_type (struct type *) |
void | allocate_gnat_aux_type (struct type *) |
struct type * | internal_type_self_type (struct type *) |
void | set_type_self_type (struct type *, struct type *) |
int | internal_type_vptr_fieldno (struct type *) |
void | set_type_vptr_fieldno (struct type *, int) |
struct type * | internal_type_vptr_basetype (struct type *) |
void | set_type_vptr_basetype (struct type *, struct type *) |
const struct builtin_type * | builtin_type (struct gdbarch *gdbarch) |
const struct objfile_type * | objfile_type (struct objfile *objfile) |
struct type * | alloc_type (struct objfile *) |
struct type * | alloc_type_arch (struct gdbarch *) |
struct type * | alloc_type_copy (const struct type *) |
struct gdbarch * | get_type_arch (const struct type *) |
struct type * | get_target_type (struct type *type) |
struct type * | init_type (enum type_code, int, int, const char *, struct objfile *) |
struct type * | arch_type (struct gdbarch *, enum type_code, int, char *) |
struct type * | arch_integer_type (struct gdbarch *, int, int, char *) |
struct type * | arch_character_type (struct gdbarch *, int, int, char *) |
struct type * | arch_boolean_type (struct gdbarch *, int, int, char *) |
struct type * | arch_float_type (struct gdbarch *, int, char *, const struct floatformat **) |
struct type * | arch_complex_type (struct gdbarch *, char *, struct type *) |
struct type * | arch_composite_type (struct gdbarch *gdbarch, char *name, enum type_code code) |
void | append_composite_type_field (struct type *t, char *name, struct type *field) |
void | append_composite_type_field_aligned (struct type *t, char *name, struct type *field, int alignment) |
struct field * | append_composite_type_field_raw (struct type *t, char *name, struct type *field) |
struct type * | arch_flags_type (struct gdbarch *gdbarch, char *name, int length) |
void | append_flags_type_flag (struct type *type, int bitpos, char *name) |
void | make_vector_type (struct type *array_type) |
struct type * | init_vector_type (struct type *elt_type, int n) |
struct type * | lookup_reference_type (struct type *) |
struct type * | make_reference_type (struct type *, struct type **) |
struct type * | make_cv_type (int, int, struct type *, struct type **) |
struct type * | make_restrict_type (struct type *) |
struct type * | make_unqualified_type (struct type *) |
struct type * | make_atomic_type (struct type *) |
void | replace_type (struct type *, struct type *) |
int | address_space_name_to_int (struct gdbarch *, char *) |
const char * | address_space_int_to_name (struct gdbarch *, int) |
struct type * | make_type_with_address_space (struct type *type, int space_identifier) |
struct type * | lookup_memberptr_type (struct type *, struct type *) |
struct type * | lookup_methodptr_type (struct type *) |
void | smash_to_method_type (struct type *type, struct type *self_type, struct type *to_type, struct field *args, int nargs, int varargs) |
void | smash_to_memberptr_type (struct type *, struct type *, struct type *) |
void | smash_to_methodptr_type (struct type *, struct type *) |
struct type * | allocate_stub_method (struct type *) |
const char * | type_name_no_tag (const struct type *) |
const char * | type_name_no_tag_or_error (struct type *type) |
struct type * | lookup_struct_elt_type (struct type *, const char *, int) |
struct type * | make_pointer_type (struct type *, struct type **) |
struct type * | lookup_pointer_type (struct type *) |
struct type * | make_function_type (struct type *, struct type **) |
struct type * | lookup_function_type (struct type *) |
struct type * | lookup_function_type_with_arguments (struct type *, int, struct type **) |
struct type * | create_static_range_type (struct type *, struct type *, LONGEST, LONGEST) |
struct type * | create_array_type_with_stride (struct type *, struct type *, struct type *, unsigned int) |
struct type * | create_range_type (struct type *, struct type *, const struct dynamic_prop *, const struct dynamic_prop *) |
struct type * | create_array_type (struct type *, struct type *, struct type *) |
struct type * | lookup_array_range_type (struct type *, LONGEST, LONGEST) |
struct type * | create_string_type (struct type *, struct type *, struct type *) |
struct type * | lookup_string_range_type (struct type *, LONGEST, LONGEST) |
struct type * | create_set_type (struct type *, struct type *) |
struct type * | lookup_unsigned_typename (const struct language_defn *, struct gdbarch *, const char *) |
struct type * | lookup_signed_typename (const struct language_defn *, struct gdbarch *, const char *) |
void | get_unsigned_type_max (struct type *, ULONGEST *) |
void | get_signed_type_minmax (struct type *, LONGEST *, LONGEST *) |
struct type * | resolve_dynamic_type (struct type *type, const gdb_byte *valaddr, CORE_ADDR addr) |
int | is_dynamic_type (struct type *type) |
struct dynamic_prop * | get_dyn_prop (enum dynamic_prop_node_kind kind, const struct type *type) |
void | add_dyn_prop (enum dynamic_prop_node_kind kind, struct dynamic_prop prop, struct type *type, struct objfile *objfile) |
struct type * | check_typedef (struct type *) |
void | check_stub_method_group (struct type *, int) |
char * | gdb_mangle_name (struct type *, int, int) |
struct type * | lookup_typename (const struct language_defn *, struct gdbarch *, const char *, const struct block *, int) |
struct type * | lookup_template_type (char *, struct type *, const struct block *) |
int | get_vptr_fieldno (struct type *, struct type **) |
int | get_discrete_bounds (struct type *, LONGEST *, LONGEST *) |
int | get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) |
int | discrete_position (struct type *type, LONGEST val, LONGEST *pos) |
int | class_types_same_p (const struct type *, const struct type *) |
int | is_ancestor (struct type *, struct type *) |
int | is_public_ancestor (struct type *, struct type *) |
int | is_unique_ancestor (struct type *, struct value *) |
struct rank | sum_ranks (struct rank a, struct rank b) |
int | compare_ranks (struct rank a, struct rank b) |
int | compare_badness (struct badness_vector *, struct badness_vector *) |
struct badness_vector * | rank_function (struct type **, int, struct value **, int) |
struct rank | rank_one_type (struct type *, struct type *, struct value *) |
void | recursive_dump_type (struct type *, int) |
int | field_is_static (struct field *) |
void | print_scalar_formatted (const void *, struct type *, const struct value_print_options *, int, struct ui_file *) |
int | can_dereference (struct type *) |
int | is_integral_type (struct type *) |
int | is_scalar_type_recursive (struct type *) |
int | class_or_union_p (const struct type *) |
void | maintenance_print_type (char *, int) |
htab_t | create_copied_types_hash (struct objfile *objfile) |
struct type * | copy_type_recursive (struct objfile *objfile, struct type *type, htab_t copied_types) |
struct type * | copy_type (const struct type *type) |
int | types_equal (struct type *, struct type *) |
int | types_deeply_equal (struct type *, struct type *) |
Variables | |
const struct cplus_struct_type | cplus_struct_default |
const struct gnat_aux_type | gnat_aux_default |
const struct floatformat * | floatformats_ieee_half [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ieee_single [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ieee_double [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ieee_double_littlebyte_bigword [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_i387_ext [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_m68881_ext [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_arm_ext [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ia64_spill [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ia64_quad [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_vax_f [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_vax_d [BFD_ENDIAN_UNKNOWN] |
const struct floatformat * | floatformats_ibm_long_double [BFD_ENDIAN_UNKNOWN] |
const struct rank | LENGTH_MISMATCH_BADNESS |
const struct rank | TOO_FEW_PARAMS_BADNESS |
const struct rank | INCOMPATIBLE_TYPE_BADNESS |
const struct rank | EXACT_MATCH_BADNESS |
const struct rank | INTEGER_PROMOTION_BADNESS |
const struct rank | FLOAT_PROMOTION_BADNESS |
const struct rank | BASE_PTR_CONVERSION_BADNESS |
const struct rank | INTEGER_CONVERSION_BADNESS |
const struct rank | FLOAT_CONVERSION_BADNESS |
const struct rank | INT_FLOAT_CONVERSION_BADNESS |
const struct rank | VOID_PTR_CONVERSION_BADNESS |
const struct rank | BOOL_CONVERSION_BADNESS |
const struct rank | BASE_CONVERSION_BADNESS |
const struct rank | REFERENCE_CONVERSION_BADNESS |
const struct rank | NULL_POINTER_CONVERSION |
const struct rank | NS_POINTER_CONVERSION_BADNESS |
const struct rank | NS_INTEGER_POINTER_CONVERSION_BADNESS |
#define ALLOCATE_CPLUS_STRUCT_TYPE | ( | type | ) | allocate_cplus_struct_type (type) |
Definition at line 1200 of file gdbtypes.h.
#define ALLOCATE_GNAT_AUX_TYPE | ( | type | ) | allocate_gnat_aux_type (type) |
Definition at line 1213 of file gdbtypes.h.
#define B_BYTES | ( | x | ) | ( 1 + ((x)>>3) ) |
Definition at line 79 of file gdbtypes.h.
#define B_CLR | ( | a, | |
x | |||
) | ((a)[(x)>>3] &= ~(1 << ((x)&7))) |
Definition at line 76 of file gdbtypes.h.
#define B_CLRALL | ( | a, | |
x | |||
) | memset ((a), 0, B_BYTES(x)) |
Definition at line 80 of file gdbtypes.h.
#define B_SET | ( | a, | |
x | |||
) | ((a)[(x)>>3] |= (1 << ((x)&7))) |
Definition at line 75 of file gdbtypes.h.
#define B_TST | ( | a, | |
x | |||
) | ((a)[(x)>>3] & (1 << ((x)&7))) |
Definition at line 77 of file gdbtypes.h.
#define B_TYPE unsigned char |
Definition at line 78 of file gdbtypes.h.
#define BASETYPE_VIA_PUBLIC | ( | thistype, | |
index | |||
) | ((!TYPE_FIELD_PRIVATE(thistype, index)) && (!TYPE_FIELD_PROTECTED(thistype, index))) |
Definition at line 1330 of file gdbtypes.h.
#define BASETYPE_VIA_VIRTUAL | ( | thistype, | |
index | |||
) |
Definition at line 1335 of file gdbtypes.h.
#define CHECK_TYPEDEF | ( | TYPE | ) |
Definition at line 1817 of file gdbtypes.h.
#define FIELD_ARTIFICIAL | ( | thisfld | ) | ((thisfld).artificial) |
Definition at line 1364 of file gdbtypes.h.
#define FIELD_BITPOS | ( | thisfld | ) | (FIELD_BITPOS_LVAL (thisfld) + 0) |
Definition at line 1343 of file gdbtypes.h.
#define FIELD_BITPOS_LVAL | ( | thisfld | ) | ((thisfld).loc.bitpos) |
Definition at line 1342 of file gdbtypes.h.
#define FIELD_BITSIZE | ( | thisfld | ) | ((thisfld).bitsize) |
Definition at line 1365 of file gdbtypes.h.
#define FIELD_DWARF_BLOCK | ( | thisfld | ) | ((thisfld).loc.dwarf_block) |
Definition at line 1348 of file gdbtypes.h.
#define FIELD_ENUMVAL | ( | thisfld | ) | (FIELD_ENUMVAL_LVAL (thisfld) + 0) |
Definition at line 1345 of file gdbtypes.h.
#define FIELD_ENUMVAL_LVAL | ( | thisfld | ) | ((thisfld).loc.enumval) |
Definition at line 1344 of file gdbtypes.h.
#define FIELD_LOC_KIND | ( | thisfld | ) | ((thisfld).loc_kind) |
Definition at line 1341 of file gdbtypes.h.
#define FIELD_NAME | ( | thisfld | ) | ((thisfld).name) |
Definition at line 1340 of file gdbtypes.h.
#define FIELD_STATIC_PHYSADDR | ( | thisfld | ) | ((thisfld).loc.physaddr) |
Definition at line 1347 of file gdbtypes.h.
#define FIELD_STATIC_PHYSNAME | ( | thisfld | ) | ((thisfld).loc.physname) |
Definition at line 1346 of file gdbtypes.h.
#define FIELD_TYPE | ( | thisfld | ) | ((thisfld).type) |
Definition at line 1339 of file gdbtypes.h.
#define HAVE_CPLUS_STRUCT | ( | type | ) |
Definition at line 1202 of file gdbtypes.h.
#define HAVE_GNAT_AUX_INFO | ( | type | ) | (TYPE_SPECIFIC_FIELD (type) == TYPE_SPECIFIC_GNAT_STUFF) |
A macro that returns non-zero if the type-specific data should be read as "gnat-stuff".
Definition at line 1216 of file gdbtypes.h.
#define INIT_CPLUS_SPECIFIC | ( | type | ) |
Definition at line 1195 of file gdbtypes.h.
#define INIT_FUNC_SPECIFIC | ( | type | ) |
Definition at line 1219 of file gdbtypes.h.
#define INIT_GNAT_SPECIFIC | ( | type | ) |
Definition at line 1210 of file gdbtypes.h.
#define LENGTH_MATCH | ( | bv | ) | ((bv)->rank[0]) |
Definition at line 1852 of file gdbtypes.h.
#define NULL_TYPE ((struct type *) 0) |
Definition at line 814 of file gdbtypes.h.
#define SET_FIELD_BITPOS | ( | thisfld, | |
bitpos | |||
) |
Definition at line 1349 of file gdbtypes.h.
#define SET_FIELD_DWARF_BLOCK | ( | thisfld, | |
addr | |||
) |
Definition at line 1361 of file gdbtypes.h.
#define SET_FIELD_ENUMVAL | ( | thisfld, | |
enumval | |||
) |
Definition at line 1352 of file gdbtypes.h.
#define SET_FIELD_PHYSADDR | ( | thisfld, | |
addr | |||
) |
Definition at line 1358 of file gdbtypes.h.
#define SET_FIELD_PHYSNAME | ( | thisfld, | |
name | |||
) |
Definition at line 1355 of file gdbtypes.h.
#define SET_TYPE_FIELD_IGNORE | ( | thistype, | |
n | |||
) | B_SET (TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits, (n)) |
Definition at line 1392 of file gdbtypes.h.
#define SET_TYPE_FIELD_PRIVATE | ( | thistype, | |
n | |||
) | B_SET (TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n)) |
Definition at line 1388 of file gdbtypes.h.
#define SET_TYPE_FIELD_PROTECTED | ( | thistype, | |
n | |||
) | B_SET (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n)) |
Definition at line 1390 of file gdbtypes.h.
#define SET_TYPE_FIELD_VIRTUAL | ( | thistype, | |
n | |||
) | B_SET (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) |
Definition at line 1394 of file gdbtypes.h.
#define TYPE_ADDRESS_CLASS_1 | ( | t | ) |
Address class flags. Some environments provide for pointers whose size is different from that of a normal pointer or address types where the bits are interpreted differently than normal addresses. The TYPE_FLAG_ADDRESS_CLASS_n flags may be used in target specific ways to represent these different types of address classes.
Definition at line 397 of file gdbtypes.h.
#define TYPE_ADDRESS_CLASS_2 | ( | t | ) |
Definition at line 399 of file gdbtypes.h.
#define TYPE_ADDRESS_CLASS_ALL | ( | t | ) |
Definition at line 403 of file gdbtypes.h.
#define TYPE_ALLOC | ( | t, | |
size | |||
) |
Allocate space for storing data associated with a particular type. We ensure that the space is allocated using the same mechanism that was used to allocate the space for the type structure itself. I.e. if the type is on an objfile's objfile_obstack, then the space for data associated with that type will also be allocated on the objfile_obstack. If the type is not associated with any particular objfile (such as builtin types), then the data space will be allocated with xmalloc, the same as for the type structure.
Definition at line 1631 of file gdbtypes.h.
#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED | ( | arraytype | ) | TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) |
Definition at line 1284 of file gdbtypes.h.
#define TYPE_ARRAY_LOWER_BOUND_VALUE | ( | arraytype | ) | (TYPE_LOW_BOUND(TYPE_INDEX_TYPE((arraytype)))) |
Definition at line 1290 of file gdbtypes.h.
#define TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED | ( | arraytype | ) | TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) |
Definition at line 1282 of file gdbtypes.h.
#define TYPE_ARRAY_UPPER_BOUND_VALUE | ( | arraytype | ) | (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype)))) |
Definition at line 1287 of file gdbtypes.h.
#define TYPE_ATOMIC | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_ATOMIC) |
Atomic type. If this is set, the corresponding type has an _Atomic modifier.
Definition at line 362 of file gdbtypes.h.
#define TYPE_BASECLASS | ( | thistype, | |
index | |||
) | TYPE_FIELD_TYPE(thistype, index) |
Definition at line 1326 of file gdbtypes.h.
#define TYPE_BASECLASS_BITPOS | ( | thistype, | |
index | |||
) | TYPE_FIELD_BITPOS(thistype,index) |
Definition at line 1329 of file gdbtypes.h.
#define TYPE_BASECLASS_NAME | ( | thistype, | |
index | |||
) | TYPE_FIELD_NAME(thistype, index) |
Definition at line 1328 of file gdbtypes.h.
#define TYPE_CALLING_CONVENTION | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->calling_convention |
Definition at line 1323 of file gdbtypes.h.
#define TYPE_CHAIN | ( | thistype | ) | (thistype)->chain |
Definition at line 1232 of file gdbtypes.h.
#define TYPE_CODE | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->code |
Note that TYPE_CODE can be TYPE_CODE_TYPEDEF, so if you want the real type, you need to do TYPE_CODE (check_type (this_type)).
Definition at line 1240 of file gdbtypes.h.
#define TYPE_CODE_SPACE | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_CODE_SPACE) |
Instruction-space delimited type. This is for Harvard architectures which have separate instruction and data address spaces (and perhaps others).
GDB usually defines a flat address space that is a superset of the architecture's two (or more) address spaces, but this is an extension of the architecture's model.
If TYPE_FLAG_INST is set, an object of the corresponding type resides in instruction memory, even if its address (in the extended flat address space) does not reflect this.
Similarly, if TYPE_FLAG_DATA is set, then an object of the corresponding type resides in the data memory space, even if this is not indicated by its (flat address space) address.
If neither flag is set, the default space for functions / methods is instruction space, and for data objects is data memory.
Definition at line 384 of file gdbtypes.h.
#define TYPE_CONST | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_CONST) |
Constant type. If this is set, the corresponding type has a const modifier.
Definition at line 345 of file gdbtypes.h.
#define TYPE_CPLUS_DYNAMIC | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->is_dynamic |
Definition at line 1332 of file gdbtypes.h.
#define TYPE_CPLUS_REALLY_JAVA | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->is_java |
Definition at line 1333 of file gdbtypes.h.
#define TYPE_CPLUS_SPECIFIC | ( | thistype | ) |
Definition at line 1315 of file gdbtypes.h.
#define TYPE_DATA_LOCATION | ( | thistype | ) | get_dyn_prop (DYN_PROP_DATA_LOCATION, thistype) |
Definition at line 1260 of file gdbtypes.h.
#define TYPE_DATA_LOCATION_ADDR | ( | thistype | ) | TYPE_DATA_LOCATION (thistype)->data.const_val |
Definition at line 1264 of file gdbtypes.h.
#define TYPE_DATA_LOCATION_BATON | ( | thistype | ) | TYPE_DATA_LOCATION (thistype)->data.baton |
Definition at line 1262 of file gdbtypes.h.
#define TYPE_DATA_LOCATION_KIND | ( | thistype | ) | TYPE_DATA_LOCATION (thistype)->kind |
Definition at line 1266 of file gdbtypes.h.
#define TYPE_DATA_SPACE | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_DATA_SPACE) |
Definition at line 387 of file gdbtypes.h.
#define TYPE_DECLARED_CLASS | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_declared_class) |
True if this type was declared using the "class" keyword. This is only valid for C++ structure and enum types. If false, a structure was declared as a "struct"; if true it was declared "class". For enum types, this is true when "enum class" or "enum struct" was used to declare the type..
Definition at line 334 of file gdbtypes.h.
#define TYPE_DESCRIPTIVE_TYPE | ( | thistype | ) | TYPE_GNAT_SPECIFIC(thistype)->descriptive_type |
Definition at line 1322 of file gdbtypes.h.
#define TYPE_DYN_PROP_ADDR | ( | dynprop | ) | dynprop->data.const_val |
Definition at line 1274 of file gdbtypes.h.
#define TYPE_DYN_PROP_BATON | ( | dynprop | ) | dynprop->data.baton |
Definition at line 1272 of file gdbtypes.h.
#define TYPE_DYN_PROP_KIND | ( | dynprop | ) | dynprop->kind |
Definition at line 1276 of file gdbtypes.h.
#define TYPE_DYN_PROP_LIST | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->dyn_prop_list |
Definition at line 1270 of file gdbtypes.h.
A helper macro that returns the name of an error type. If the type has a name, it is used; otherwise, a default is used.
Definition at line 1472 of file gdbtypes.h.
#define TYPE_FIELD | ( | thistype, | |
n | |||
) | TYPE_MAIN_TYPE(thistype)->flds_bnds.fields[n] |
Definition at line 1367 of file gdbtypes.h.
#define TYPE_FIELD_ARTIFICIAL | ( | thistype, | |
n | |||
) | FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n)) |
Definition at line 1376 of file gdbtypes.h.
#define TYPE_FIELD_BITPOS | ( | thistype, | |
n | |||
) | FIELD_BITPOS (TYPE_FIELD (thistype, n)) |
Definition at line 1371 of file gdbtypes.h.
#define TYPE_FIELD_BITSIZE | ( | thistype, | |
n | |||
) | FIELD_BITSIZE(TYPE_FIELD(thistype,n)) |
Definition at line 1377 of file gdbtypes.h.
#define TYPE_FIELD_DWARF_BLOCK | ( | thistype, | |
n | |||
) | FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n)) |
Definition at line 1375 of file gdbtypes.h.
#define TYPE_FIELD_ENUMVAL | ( | thistype, | |
n | |||
) | FIELD_ENUMVAL (TYPE_FIELD (thistype, n)) |
Definition at line 1372 of file gdbtypes.h.
#define TYPE_FIELD_IGNORE | ( | thistype, | |
n | |||
) |
Definition at line 1402 of file gdbtypes.h.
#define TYPE_FIELD_IGNORE_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits |
Definition at line 1384 of file gdbtypes.h.
#define TYPE_FIELD_LOC_KIND | ( | thistype, | |
n | |||
) | FIELD_LOC_KIND (TYPE_FIELD (thistype, n)) |
Definition at line 1370 of file gdbtypes.h.
#define TYPE_FIELD_NAME | ( | thistype, | |
n | |||
) | FIELD_NAME(TYPE_FIELD(thistype, n)) |
Definition at line 1369 of file gdbtypes.h.
#define TYPE_FIELD_PACKED | ( | thistype, | |
n | |||
) | (FIELD_BITSIZE(TYPE_FIELD(thistype,n))!=0) |
Definition at line 1378 of file gdbtypes.h.
#define TYPE_FIELD_PRIVATE | ( | thistype, | |
n | |||
) |
Definition at line 1396 of file gdbtypes.h.
#define TYPE_FIELD_PRIVATE_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits |
Definition at line 1380 of file gdbtypes.h.
#define TYPE_FIELD_PROTECTED | ( | thistype, | |
n | |||
) |
Definition at line 1399 of file gdbtypes.h.
#define TYPE_FIELD_PROTECTED_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits |
Definition at line 1382 of file gdbtypes.h.
#define TYPE_FIELD_STATIC_PHYSADDR | ( | thistype, | |
n | |||
) | FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n)) |
Definition at line 1374 of file gdbtypes.h.
#define TYPE_FIELD_STATIC_PHYSNAME | ( | thistype, | |
n | |||
) | FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n)) |
Definition at line 1373 of file gdbtypes.h.
#define TYPE_FIELD_TYPE | ( | thistype, | |
n | |||
) | FIELD_TYPE(TYPE_FIELD(thistype, n)) |
Definition at line 1368 of file gdbtypes.h.
#define TYPE_FIELD_VIRTUAL | ( | thistype, | |
n | |||
) |
Definition at line 1405 of file gdbtypes.h.
#define TYPE_FIELD_VIRTUAL_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits |
Definition at line 1386 of file gdbtypes.h.
#define TYPE_FIELDS | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->flds_bnds.fields |
Definition at line 1242 of file gdbtypes.h.
#define TYPE_FIXED_INSTANCE | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_fixed_instance) |
The debugging formats (especially STABS) do not contain enough information to represent all Ada types—especially those whose size depends on dynamic quantities. Therefore, the GNAT Ada compiler includes extra information in the form of additional type definitions connected by naming conventions. This flag indicates that the type is an ordinary (unencoded) GDB type that has been created from the necessary run-time information, and does not need further interpretation. Optionally marks ordinary, fixed-size GDB type.
Definition at line 299 of file gdbtypes.h.
#define TYPE_FLAG_ENUM | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_flag_enum) |
True if this type is a "flag" enum. A flag enum is one where all the values are pairwise disjoint when "and"ed together. This affects how enum values are printed.
Definition at line 340 of file gdbtypes.h.
#define TYPE_FLOATFORMAT | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.floatformat |
Definition at line 1320 of file gdbtypes.h.
#define TYPE_FN_FIELD | ( | thisfn, | |
n | |||
) | (thisfn)[n] |
Definition at line 1422 of file gdbtypes.h.
#define TYPE_FN_FIELD_ABSTRACT | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_abstract) |
Definition at line 1436 of file gdbtypes.h.
#define TYPE_FN_FIELD_ARGS | ( | thisfn, | |
n | |||
) | TYPE_FIELDS ((thisfn)[n].type) |
Definition at line 1425 of file gdbtypes.h.
#define TYPE_FN_FIELD_ARTIFICIAL | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_artificial) |
Definition at line 1435 of file gdbtypes.h.
#define TYPE_FN_FIELD_CONST | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_const) |
Definition at line 1426 of file gdbtypes.h.
#define TYPE_FN_FIELD_CONSTRUCTOR | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_constructor) |
Definition at line 1438 of file gdbtypes.h.
#define TYPE_FN_FIELD_FCONTEXT | ( | thisfn, | |
n | |||
) | ((thisfn)[n].fcontext) |
Definition at line 1439 of file gdbtypes.h.
#define TYPE_FN_FIELD_FINAL | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_final) |
Definition at line 1432 of file gdbtypes.h.
#define TYPE_FN_FIELD_NATIVE | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_native) |
Definition at line 1434 of file gdbtypes.h.
#define TYPE_FN_FIELD_PHYSNAME | ( | thisfn, | |
n | |||
) | (thisfn)[n].physname |
Definition at line 1423 of file gdbtypes.h.
#define TYPE_FN_FIELD_PRIVATE | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_private) |
Definition at line 1428 of file gdbtypes.h.
#define TYPE_FN_FIELD_PROTECTED | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_protected) |
Definition at line 1429 of file gdbtypes.h.
#define TYPE_FN_FIELD_PUBLIC | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_public) |
Definition at line 1430 of file gdbtypes.h.
#define TYPE_FN_FIELD_STATIC | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_static) |
Definition at line 1431 of file gdbtypes.h.
#define TYPE_FN_FIELD_STATIC_P | ( | thisfn, | |
n | |||
) | ((thisfn)[n].voffset == VOFFSET_STATIC) |
Definition at line 1442 of file gdbtypes.h.
#define TYPE_FN_FIELD_STUB | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_stub) |
Definition at line 1437 of file gdbtypes.h.
#define TYPE_FN_FIELD_SYNCHRONIZED | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_synchronized) |
Definition at line 1433 of file gdbtypes.h.
#define TYPE_FN_FIELD_TYPE | ( | thisfn, | |
n | |||
) | (thisfn)[n].type |
Definition at line 1424 of file gdbtypes.h.
#define TYPE_FN_FIELD_VIRTUAL_P | ( | thisfn, | |
n | |||
) | ((thisfn)[n].voffset > 1) |
Definition at line 1441 of file gdbtypes.h.
#define TYPE_FN_FIELD_VOFFSET | ( | thisfn, | |
n | |||
) | ((thisfn)[n].voffset-2) |
Definition at line 1440 of file gdbtypes.h.
#define TYPE_FN_FIELD_VOLATILE | ( | thisfn, | |
n | |||
) | ((thisfn)[n].is_volatile) |
Definition at line 1427 of file gdbtypes.h.
#define TYPE_FN_FIELDLIST | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n] |
Definition at line 1410 of file gdbtypes.h.
#define TYPE_FN_FIELDLIST1 | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].fn_fields |
Definition at line 1411 of file gdbtypes.h.
#define TYPE_FN_FIELDLIST_LENGTH | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].length |
Definition at line 1413 of file gdbtypes.h.
#define TYPE_FN_FIELDLIST_NAME | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].name |
Definition at line 1412 of file gdbtypes.h.
#define TYPE_FN_FIELDLISTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists |
Definition at line 1409 of file gdbtypes.h.
#define TYPE_GNAT_SPECIFIC | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.gnat_stuff |
Definition at line 1321 of file gdbtypes.h.
#define TYPE_GNU_IFUNC | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_gnu_ifunc) |
Used only for TYPE_CODE_FUNC where it specifies the real function address is returned by this function call. TYPE_TARGET_TYPE determines the final returned function type to be presented to user.
Definition at line 318 of file gdbtypes.h.
#define TYPE_HIGH_BOUND | ( | range_type | ) | TYPE_RANGE_DATA(range_type)->high.data.const_val |
Definition at line 1248 of file gdbtypes.h.
#define TYPE_HIGH_BOUND_KIND | ( | range_type | ) | TYPE_RANGE_DATA(range_type)->high.kind |
Definition at line 1254 of file gdbtypes.h.
#define TYPE_HIGH_BOUND_UNDEFINED | ( | range_type | ) | (TYPE_RANGE_DATA(range_type)->high.kind == PROP_UNDEFINED) |
Definition at line 1252 of file gdbtypes.h.
#define TYPE_INCOMPLETE | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_incomplete) |
This flag is used to indicate that processing for this type is incomplete.
(Mostly intended for HP platforms, where class methods, for instance, can be encountered before their classes in the debug info; the incomplete type has to be marked so that the class and the method can be assigned correct types.)
Definition at line 277 of file gdbtypes.h.
#define TYPE_INDEX_TYPE | ( | type | ) | TYPE_FIELD_TYPE (type, 0) |
Definition at line 1244 of file gdbtypes.h.
#define TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1 | TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2) |
Definition at line 401 of file gdbtypes.h.
#define TYPE_INSTANCE_FLAGS | ( | thistype | ) | (thistype)->instance_flags |
Definition at line 1225 of file gdbtypes.h.
#define TYPE_IS_OPAQUE | ( | thistype | ) |
Definition at line 1455 of file gdbtypes.h.
#define TYPE_LENGTH | ( | thistype | ) | (thistype)->length |
Note that if thistype is a TYPEDEF type, you have to call check_typedef. But check_typedef does set the TYPE_LENGTH of the TYPEDEF type, so you only have to call check_typedef once. Since allocate_value calls check_typedef, TYPE_LENGTH (VALUE_TYPE (X)) is safe.
Definition at line 1237 of file gdbtypes.h.
#define TYPE_LOW_BOUND | ( | range_type | ) | TYPE_RANGE_DATA(range_type)->low.data.const_val |
Definition at line 1246 of file gdbtypes.h.
#define TYPE_LOW_BOUND_KIND | ( | range_type | ) | TYPE_RANGE_DATA(range_type)->low.kind |
Definition at line 1256 of file gdbtypes.h.
#define TYPE_LOW_BOUND_UNDEFINED | ( | range_type | ) | (TYPE_RANGE_DATA(range_type)->low.kind == PROP_UNDEFINED) |
Definition at line 1250 of file gdbtypes.h.
#define TYPE_MAIN_TYPE | ( | thistype | ) | (thistype)->main_type |
Definition at line 1226 of file gdbtypes.h.
#define TYPE_N_BASECLASSES | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->n_baseclasses |
Definition at line 1327 of file gdbtypes.h.
#define TYPE_N_TEMPLATE_ARGUMENTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->n_template_arguments |
Definition at line 1415 of file gdbtypes.h.
#define TYPE_NAME | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->name |
Definition at line 1227 of file gdbtypes.h.
#define TYPE_NFIELDS | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->nfields |
Definition at line 1241 of file gdbtypes.h.
#define TYPE_NFN_FIELDS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->nfn_fields |
Definition at line 1307 of file gdbtypes.h.
#define TYPE_NO_RETURN | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->is_noreturn |
Definition at line 1324 of file gdbtypes.h.
#define TYPE_NOSIGN | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_nosign) |
No sign for this type. In C++, "char", "signed char", and "unsigned char" are distinct types; so we need an extra flag to indicate the absence of a sign!
Definition at line 239 of file gdbtypes.h.
#define TYPE_NOTTEXT | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_NOTTEXT) |
Not textual. By default, GDB treats all single byte integers as characters (or elements of strings) unless this flag is set.
Definition at line 311 of file gdbtypes.h.
#define TYPE_OBJFILE | ( | t | ) | (TYPE_OBJFILE_OWNED(t)? TYPE_OWNER(t).objfile : NULL) |
Definition at line 326 of file gdbtypes.h.
#define TYPE_OBJFILE_OWNED | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_objfile_owned) |
Type owner. If TYPE_OBJFILE_OWNED is true, the type is owned by the objfile retrieved as TYPE_OBJFILE. Otherweise, the type is owned by an architecture; TYPE_OBJFILE is NULL in this case.
Definition at line 324 of file gdbtypes.h.
#define TYPE_OWNER | ( | t | ) | TYPE_MAIN_TYPE(t)->owner |
Definition at line 325 of file gdbtypes.h.
#define TYPE_POINTER_TYPE | ( | thistype | ) | (thistype)->pointer_type |
Definition at line 1230 of file gdbtypes.h.
#define TYPE_PROTOTYPED | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_prototyped) |
This is a function type which appears to have a prototype. We need this for function calls in order to tell us if it's necessary to coerce the args, or to just do the standard conversions. This is used with a short field.
Definition at line 267 of file gdbtypes.h.
#define TYPE_RANGE_DATA | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->flds_bnds.bounds |
Definition at line 1245 of file gdbtypes.h.
#define TYPE_RAW_CPLUS_SPECIFIC | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.cplus_stuff |
Definition at line 1319 of file gdbtypes.h.
#define TYPE_REFERENCE_TYPE | ( | thistype | ) | (thistype)->reference_type |
Definition at line 1231 of file gdbtypes.h.
#define TYPE_RESTRICT | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_RESTRICT) |
Restrict type. If this is set, the corresponding type has a restrict modifier.
Definition at line 356 of file gdbtypes.h.
A helper macro that returns the name of a type or "unnamed type" if the type has no name.
Definition at line 1466 of file gdbtypes.h.
#define TYPE_SELF_TYPE | ( | thistype | ) | internal_type_self_type (thistype) |
Definition at line 1295 of file gdbtypes.h.
#define TYPE_SPECIFIC_FIELD | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific_field |
Definition at line 1308 of file gdbtypes.h.
#define TYPE_STATIC | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_static) |
Static type. If this is set, the corresponding type had a static modifier. Note: This may be unnecessary, since static data members are indicated by other means (bitpos == -1).
Definition at line 260 of file gdbtypes.h.
#define TYPE_STUB | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_stub) |
This appears in a type's flags word if it is a stub type (e.g., if someone referenced a type that wasn't defined in a source file via (struct sir_not_appearing_in_this_film *)).
Definition at line 245 of file gdbtypes.h.
#define TYPE_STUB_SUPPORTED | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_stub_supported) |
This debug target supports TYPE_STUB(t). In the unsupported case we have to rely on NFIELDS to be zero etc., see TYPE_IS_OPAQUE(). TYPE_STUB(t) with !TYPE_STUB_SUPPORTED(t) may exist if we only guessed the TYPE_STUB(t) value (see dwarfread.c).
Definition at line 306 of file gdbtypes.h.
#define TYPE_TAG_NAME | ( | type | ) | TYPE_MAIN_TYPE(type)->tag_name |
Definition at line 1228 of file gdbtypes.h.
#define TYPE_TAIL_CALL_LIST | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->tail_call_list |
Definition at line 1325 of file gdbtypes.h.
#define TYPE_TARGET_STUB | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_target_stub) |
The target type of this type is a stub type, and this type needs to be updated if it gets un-stubbed in check_typedef. Used for arrays and ranges, in which TYPE_LENGTH of the array/range gets set based on the TYPE_LENGTH of the target type. Also, set for TYPE_CODE_TYPEDEF.
Definition at line 253 of file gdbtypes.h.
#define TYPE_TARGET_TYPE | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->target_type |
Definition at line 1229 of file gdbtypes.h.
#define TYPE_TEMPLATE_ARGUMENT | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC (thistype)->template_arguments[n] |
Definition at line 1419 of file gdbtypes.h.
#define TYPE_TEMPLATE_ARGUMENTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->template_arguments |
Definition at line 1417 of file gdbtypes.h.
#define TYPE_TYPEDEF_FIELD | ( | thistype, | |
n | |||
) | TYPE_CPLUS_SPECIFIC (thistype)->typedef_field[n] |
Definition at line 1446 of file gdbtypes.h.
#define TYPE_TYPEDEF_FIELD_ARRAY | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->typedef_field |
Definition at line 1444 of file gdbtypes.h.
#define TYPE_TYPEDEF_FIELD_COUNT | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->typedef_field_count |
Definition at line 1452 of file gdbtypes.h.
#define TYPE_TYPEDEF_FIELD_NAME | ( | thistype, | |
n | |||
) | TYPE_TYPEDEF_FIELD (thistype, n).name |
Definition at line 1448 of file gdbtypes.h.
#define TYPE_TYPEDEF_FIELD_TYPE | ( | thistype, | |
n | |||
) | TYPE_TYPEDEF_FIELD (thistype, n).type |
Definition at line 1450 of file gdbtypes.h.
#define TYPE_UNSIGNED | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_unsigned) |
Unsigned integer type. If this is not set for a TYPE_CODE_INT, the type is signed (unless TYPE_FLAG_NOSIGN (below) is set).
Definition at line 233 of file gdbtypes.h.
#define TYPE_VARARGS | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_varargs) |
FIXME drow/2002-06-03: Only used for methods, but applies as well to functions.
Definition at line 282 of file gdbtypes.h.
#define TYPE_VECTOR | ( | t | ) | (TYPE_MAIN_TYPE (t)->flag_vector) |
Identify a vector type. Gcc is handling this by adding an extra attribute to the array type. We slurp that in as a new flag of a type. This is used only in dwarf2read.c.
Definition at line 287 of file gdbtypes.h.
#define TYPE_VOLATILE | ( | t | ) | (TYPE_INSTANCE_FLAGS (t) & TYPE_INSTANCE_FLAG_VOLATILE) |
Volatile type. If this is set, the corresponding type has a volatile modifier.
Definition at line 350 of file gdbtypes.h.
#define TYPE_VPTR_BASETYPE | ( | thistype | ) | internal_type_vptr_basetype (thistype) |
Definition at line 1305 of file gdbtypes.h.
#define TYPE_VPTR_FIELDNO | ( | thistype | ) | internal_type_vptr_fieldno (thistype) |
Definition at line 1304 of file gdbtypes.h.
#define TYPE_ZALLOC | ( | t, | |
size | |||
) |
Definition at line 1636 of file gdbtypes.h.
#define VOFFSET_STATIC 1 |
Definition at line 895 of file gdbtypes.h.
Definition at line 1092 of file gdbtypes.h.
enum dynamic_prop_kind |
Enumerator | |
---|---|
PROP_UNDEFINED | |
PROP_CONST | |
PROP_ADDR_OFFSET | |
PROP_LOCEXPR | |
PROP_LOCLIST |
Definition at line 406 of file gdbtypes.h.
Define a type's dynamic property node kind.
Enumerator | |
---|---|
DYN_PROP_DATA_LOCATION |
Definition at line 438 of file gdbtypes.h.
enum field_loc_kind |
Determine which field of the union main_type.fields[x].loc is used.
Enumerator | |
---|---|
FIELD_LOC_KIND_BITPOS |
bitpos |
FIELD_LOC_KIND_ENUMVAL |
enumval |
FIELD_LOC_KIND_PHYSADDR |
physaddr |
FIELD_LOC_KIND_PHYSNAME |
physname |
FIELD_LOC_KIND_DWARF_BLOCK |
dwarf_block |
Definition at line 461 of file gdbtypes.h.
enum type_code |
Different kinds of data types are distinguished by the `code' field.
Definition at line 85 of file gdbtypes.h.
enum type_flag_value |
Some constants representing each bit field in the main_type. See the bit-field-specific macros, below, for documentation of each constant in this enum. These enum values are only used with init_type. Note that the values are chosen not to conflict with type_instance_flag_value; this lets init_type error-check its input.
Definition at line 194 of file gdbtypes.h.
Some bits for the type's instance_flags word. See the macros below for documentation on each bit. Note that if you add a value here, you must update the enum type_flag_value as well.
Definition at line 217 of file gdbtypes.h.
enum type_specific_kind |
A discriminant to determine which field in the main_type.type_specific union is being used, if any.
For types such as TYPE_CODE_FLT, the use of this discriminant is really redundant, as we know from the type code which field is going to be used. As such, it would be possible to reduce the size of this enum in order to save a bit or two for other fields of struct main_type. But, since we still have extra room , and for the sake of clarity and consistency, we treat all fields of the union the same way.
Enumerator | |
---|---|
TYPE_SPECIFIC_NONE | |
TYPE_SPECIFIC_CPLUS_STUFF | |
TYPE_SPECIFIC_GNAT_STUFF | |
TYPE_SPECIFIC_FLOATFORMAT | |
TYPE_SPECIFIC_FUNC | |
TYPE_SPECIFIC_SELF_TYPE |
Definition at line 481 of file gdbtypes.h.
void add_dyn_prop | ( | enum dynamic_prop_node_kind | kind, |
struct dynamic_prop | prop, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) |
Given a dynamic property PROP of a given KIND, add this dynamic property to the given TYPE.
This function assumes that TYPE is objfile-owned, and that OBJFILE is the TYPE's objfile.
const char* address_space_int_to_name | ( | struct gdbarch * | , |
int | |||
) |
int address_space_name_to_int | ( | struct gdbarch * | , |
char * | |||
) |
struct type* alloc_type | ( | struct objfile * | ) |
struct type* alloc_type_arch | ( | struct gdbarch * | ) |
void allocate_cplus_struct_type | ( | struct type * | ) |
void allocate_gnat_aux_type | ( | struct type * | ) |
void append_composite_type_field_aligned | ( | struct type * | t, |
char * | name, | ||
struct type * | field, | ||
int | alignment | ||
) |
void append_flags_type_flag | ( | struct type * | type, |
int | bitpos, | ||
char * | name | ||
) |
struct type* arch_boolean_type | ( | struct gdbarch * | , |
int | , | ||
int | , | ||
char * | |||
) |
struct type* arch_character_type | ( | struct gdbarch * | , |
int | , | ||
int | , | ||
char * | |||
) |
struct type* arch_flags_type | ( | struct gdbarch * | gdbarch, |
char * | name, | ||
int | length | ||
) |
struct type* arch_float_type | ( | struct gdbarch * | , |
int | , | ||
char * | , | ||
const struct floatformat ** | |||
) |
struct type* arch_integer_type | ( | struct gdbarch * | , |
int | , | ||
int | , | ||
char * | |||
) |
struct type* arch_type | ( | struct gdbarch * | , |
enum | type_code, | ||
int | , | ||
char * | |||
) |
const struct builtin_type* builtin_type | ( | struct gdbarch * | gdbarch | ) |
Return the type table for the specified architecture.
int can_dereference | ( | struct type * | ) |
void check_stub_method_group | ( | struct type * | , |
int | |||
) |
int class_or_union_p | ( | const struct type * | ) |
int compare_badness | ( | struct badness_vector * | , |
struct badness_vector * | |||
) |
struct type* copy_type_recursive | ( | struct objfile * | objfile, |
struct type * | type, | ||
htab_t | copied_types | ||
) |
struct type* create_array_type_with_stride | ( | struct type * | , |
struct type * | , | ||
struct type * | , | ||
unsigned | int | ||
) |
htab_t create_copied_types_hash | ( | struct objfile * | objfile | ) |
struct type* create_range_type | ( | struct type * | , |
struct type * | , | ||
const struct dynamic_prop * | , | ||
const struct dynamic_prop * | |||
) |
int discrete_position | ( | struct type * | type, |
LONGEST | val, | ||
LONGEST * | pos | ||
) |
int field_is_static | ( | struct field * | ) |
char* gdb_mangle_name | ( | struct type * | , |
int | , | ||
int | |||
) |
int get_array_bounds | ( | struct type * | type, |
LONGEST * | low_bound, | ||
LONGEST * | high_bound | ||
) |
int get_discrete_bounds | ( | struct type * | , |
LONGEST * | , | ||
LONGEST * | |||
) |
struct dynamic_prop* get_dyn_prop | ( | enum dynamic_prop_node_kind | kind, |
const struct type * | type | ||
) |
Return the dynamic property of the requested KIND from TYPE's list of dynamic properties.
void get_signed_type_minmax | ( | struct type * | , |
LONGEST * | , | ||
LONGEST * | |||
) |
This returns the target type (or NULL) of TYPE, also skipping past typedefs.
struct gdbarch* get_type_arch | ( | const struct type * | ) |
Return the type's architecture. For types owned by an architecture, that architecture is returned. For types owned by an objfile, that objfile's architecture is returned.
void get_unsigned_type_max | ( | struct type * | , |
ULONGEST * | |||
) |
struct type* init_type | ( | enum | type_code, |
int | , | ||
int | , | ||
const char * | , | ||
struct objfile * | |||
) |
Helper function to construct objfile-owned types.
int internal_type_vptr_fieldno | ( | struct type * | ) |
int is_dynamic_type | ( | struct type * | type | ) |
Predicate if the type has dynamic values, which are not resolved yet.
int is_integral_type | ( | struct type * | ) |
int is_scalar_type_recursive | ( | struct type * | ) |
int is_unique_ancestor | ( | struct type * | , |
struct value * | |||
) |
struct type* lookup_signed_typename | ( | const struct language_defn * | , |
struct gdbarch * | , | ||
const char * | |||
) |
struct type* lookup_typename | ( | const struct language_defn * | , |
struct gdbarch * | , | ||
const char * | , | ||
const struct block * | , | ||
int | |||
) |
struct type* lookup_unsigned_typename | ( | const struct language_defn * | , |
struct gdbarch * | , | ||
const char * | |||
) |
void maintenance_print_type | ( | char * | , |
int | |||
) |
void make_vector_type | ( | struct type * | array_type | ) |
const struct objfile_type* objfile_type | ( | struct objfile * | objfile | ) |
Return the type table for the specified objfile.
void print_scalar_formatted | ( | const void * | , |
struct type * | , | ||
const struct value_print_options * | , | ||
int | , | ||
struct ui_file * | |||
) |
struct badness_vector* rank_function | ( | struct type ** | , |
int | , | ||
struct value ** | , | ||
int | |||
) |
void recursive_dump_type | ( | struct type * | , |
int | |||
) |
Resolve all dynamic values of a type e.g. array bounds to static values. ADDR specifies the location of the variable the type is bound to. If TYPE has no dynamic properties return TYPE; otherwise a new type with static properties is returned.
void set_type_vptr_fieldno | ( | struct type * | , |
int | |||
) |
void smash_to_method_type | ( | struct type * | type, |
struct type * | self_type, | ||
struct type * | to_type, | ||
struct field * | args, | ||
int | nargs, | ||
int | varargs | ||
) |
const char* type_name_no_tag | ( | const struct type * | ) |
const char* type_name_no_tag_or_error | ( | struct type * | type | ) |
const struct rank BASE_CONVERSION_BADNESS |
Badness of converting derived to base class.
const struct rank BASE_PTR_CONVERSION_BADNESS |
Badness of converting a derived class pointer to a base class pointer.
const struct rank BOOL_CONVERSION_BADNESS |
Badness of conversion to boolean.
const struct cplus_struct_type cplus_struct_default |
The default value of TYPE_CPLUS_SPECIFIC(T) points to this shared static structure.
const struct rank EXACT_MATCH_BADNESS |
Badness of an exact match.
const struct rank FLOAT_CONVERSION_BADNESS |
Badness of floating conversion.
const struct rank FLOAT_PROMOTION_BADNESS |
Badness of floating promotion.
const struct floatformat* floatformats_arm_ext[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_i387_ext[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ia64_quad[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ia64_spill[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ieee_double[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ieee_double_littlebyte_bigword[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ieee_half[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_ieee_single[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_m68881_ext[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_vax_d[BFD_ENDIAN_UNKNOWN] |
const struct floatformat* floatformats_vax_f[BFD_ENDIAN_UNKNOWN] |
const struct gnat_aux_type gnat_aux_default |
const struct rank INCOMPATIBLE_TYPE_BADNESS |
Badness if no conversion among types.
const struct rank INT_FLOAT_CONVERSION_BADNESS |
Badness of integer<->floating conversions.
const struct rank INTEGER_CONVERSION_BADNESS |
Badness of integral conversion.
const struct rank INTEGER_PROMOTION_BADNESS |
Badness of integral promotion.
const struct rank LENGTH_MISMATCH_BADNESS |
Badness if parameter list length doesn't match arg list length.
const struct rank NS_INTEGER_POINTER_CONVERSION_BADNESS |
Badness of converting a (non-zero) integer constant to a pointer.
const struct rank NS_POINTER_CONVERSION_BADNESS |
Converting a pointer to an int is usually OK.
const struct rank NULL_POINTER_CONVERSION |
Badness of converting integer 0 to NULL pointer.
const struct rank REFERENCE_CONVERSION_BADNESS |
Badness of converting from non-reference to reference.
const struct rank TOO_FEW_PARAMS_BADNESS |
Dummy badness value for nonexistent parameter positions.
const struct rank VOID_PTR_CONVERSION_BADNESS |
Badness of conversion of pointer to void pointer.