GDB (xrefs)
|
#include "hashtab.h"
#include "gdbsupport/array-view.h"
#include "gdbsupport/gdb-hashtab.h"
#include "gdbsupport/gdb_optional.h"
#include "gdbsupport/offset-type.h"
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/underlying.h"
#include "gdbsupport/print-utils.h"
#include "gdbsupport/function-view.h"
#include "dwarf2.h"
#include "gdbsupport/gdb_obstack.h"
#include "gmp-utils.h"
#include "type-codes.def"
Go to the source code of this file.
Classes | |
struct | discriminant_range |
struct | variant |
struct | variant_part |
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 | decl_field |
struct | cplus_struct_type |
struct | rank |
struct | gnat_aux_type |
struct | func_type |
struct | fixed_point_type_info |
struct | builtin_type |
class | type_allocator |
struct | struct_elt |
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 | OP(X) X, |
#define | TYPE_NOTTEXT(t) (((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_NOTTEXT) |
#define | TYPE_CONST(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_CONST) != 0) |
#define | TYPE_VOLATILE(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_VOLATILE) != 0) |
#define | TYPE_RESTRICT(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_RESTRICT) != 0) |
#define | TYPE_ATOMIC(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_ATOMIC) != 0) |
#define | TYPE_IS_REFERENCE(t) ((t)->code () == TYPE_CODE_REF || (t)->code () == TYPE_CODE_RVALUE_REF) |
#define | TYPE_IS_ALLOCATABLE(t) ((t)->dyn_prop (DYN_PROP_ALLOCATED) != NULL) |
#define | TYPE_HAS_VARIANT_PARTS(t) ((t)->dyn_prop (DYN_PROP_VARIANT_PARTS) != nullptr) |
#define | TYPE_HAS_DYNAMIC_LENGTH(t) ((t)->dyn_prop (DYN_PROP_BYTE_SIZE) != nullptr) |
#define | TYPE_CODE_SPACE(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_CODE_SPACE) != 0) |
#define | TYPE_DATA_SPACE(t) ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_DATA_SPACE) != 0) |
#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 | TYPE_ALIGN_BITS 8 |
#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_NONE_SPECIFIC(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 | ADA_TYPE_P(type) |
#define | INIT_FUNC_SPECIFIC(type) |
#define | INIT_FIXED_POINT_SPECIFIC(type) |
#define | TYPE_MAIN_TYPE(thistype) (thistype)->main_type |
#define | TYPE_POINTER_TYPE(thistype) (thistype)->pointer_type |
#define | TYPE_REFERENCE_TYPE(thistype) (thistype)->reference_type |
#define | TYPE_RVALUE_REFERENCE_TYPE(thistype) (thistype)->rvalue_reference_type |
#define | TYPE_CHAIN(thistype) (thistype)->chain |
#define | TYPE_RAW_ALIGN(thistype) type_raw_align (thistype) |
#define | TYPE_DATA_LOCATION(thistype) ((thistype)->dyn_prop (DYN_PROP_DATA_LOCATION)) |
#define | TYPE_DATA_LOCATION_BATON(thistype) TYPE_DATA_LOCATION (thistype)->data.baton |
#define | TYPE_DATA_LOCATION_ADDR(thistype) (TYPE_DATA_LOCATION (thistype)->const_val ()) |
#define | TYPE_DATA_LOCATION_KIND(thistype) (TYPE_DATA_LOCATION (thistype)->kind ()) |
#define | TYPE_DYNAMIC_LENGTH(thistype) ((thistype)->dyn_prop (DYN_PROP_BYTE_SIZE)) |
#define | TYPE_ALLOCATED_PROP(thistype) ((thistype)->dyn_prop (DYN_PROP_ALLOCATED)) |
#define | TYPE_ASSOCIATED_PROP(thistype) ((thistype)->dyn_prop (DYN_PROP_ASSOCIATED)) |
#define | TYPE_RANK_PROP(thistype) ((thistype)->dyn_prop (DYN_PROP_RANK)) |
#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_CPLUS_CALLING_CONVENTION(thistype) TYPE_MAIN_TYPE(thistype)->type_specific.cplus_stuff->calling_convention |
#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) ((thistype)->field (index).type ()) |
#define | TYPE_N_BASECLASSES(thistype) TYPE_CPLUS_SPECIFIC(thistype)->n_baseclasses |
#define | TYPE_BASECLASS_NAME(thistype, index) (thistype->field (index).name ()) |
#define | TYPE_BASECLASS_BITPOS(thistype, index) (thistype->field (index).loc_bitpos ()) |
#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 | BASETYPE_VIA_VIRTUAL(thistype, index) |
#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) (((thisfn)[n].type)->fields ()) |
#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_ARTIFICIAL(thisfn, n) ((thisfn)[n].is_artificial) |
#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_FN_FIELD_DEFAULTED(thisfn, n) ((thisfn)[n].defaulted) |
#define | TYPE_FN_FIELD_DELETED(thisfn, n) ((thisfn)[n].is_deleted) |
#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_TYPEDEF_FIELD_PROTECTED(thistype, n) TYPE_TYPEDEF_FIELD (thistype, n).is_protected |
#define | TYPE_TYPEDEF_FIELD_PRIVATE(thistype, n) TYPE_TYPEDEF_FIELD (thistype, n).is_private |
#define | TYPE_NESTED_TYPES_ARRAY(thistype) TYPE_CPLUS_SPECIFIC (thistype)->nested_types |
#define | TYPE_NESTED_TYPES_FIELD(thistype, n) TYPE_CPLUS_SPECIFIC (thistype)->nested_types[n] |
#define | TYPE_NESTED_TYPES_FIELD_NAME(thistype, n) TYPE_NESTED_TYPES_FIELD (thistype, n).name |
#define | TYPE_NESTED_TYPES_FIELD_TYPE(thistype, n) TYPE_NESTED_TYPES_FIELD (thistype, n).type |
#define | TYPE_NESTED_TYPES_COUNT(thistype) TYPE_CPLUS_SPECIFIC (thistype)->nested_types_count |
#define | TYPE_NESTED_TYPES_FIELD_PROTECTED(thistype, n) TYPE_NESTED_TYPES_FIELD (thistype, n).is_protected |
#define | TYPE_NESTED_TYPES_FIELD_PRIVATE(thistype, n) TYPE_NESTED_TYPES_FIELD (thistype, n).is_private |
#define | TYPE_IS_OPAQUE(thistype) |
#define | TYPE_SAFE_NAME(type) (type->name () != nullptr ? type->name () : _("<unnamed type>")) |
#define | TYPE_ERROR_NAME(type) (type->name () ? type->name () : _("<error type>")) |
#define | TYPE_ALLOC(t, size) |
#define | TYPE_ZALLOC(t, size) (memset (TYPE_ALLOC (t, size), 0, size)) |
#define | REFERENCE_CONVERSION_RVALUE 1 |
#define | REFERENCE_CONVERSION_CONST_LVALUE 2 |
#define | CV_CONVERSION_CONST 1 |
#define | CV_CONVERSION_VOLATILE 2 |
Typedefs | |
typedef std::vector< rank > | badness_vector |
Functions | |
DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags) | |
bool | operator== (const dynamic_prop &l, const dynamic_prop &r) |
static bool | operator!= (const dynamic_prop &l, const dynamic_prop &r) |
bool | operator== (const range_bounds &l, const range_bounds &r) |
static bool | operator!= (const range_bounds &l, const range_bounds &r) |
void | allocate_cplus_struct_type (struct type *) |
void | allocate_gnat_aux_type (struct type *) |
unsigned | type_raw_align (struct type *) |
unsigned | type_align (struct type *) |
bool | set_type_align (struct type *, ULONGEST) |
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 floatformat * | floatformat_from_type (const struct type *type) |
const struct builtin_type * | builtin_type (struct gdbarch *gdbarch) |
const struct builtin_type * | builtin_type (struct objfile *objfile) |
struct type * | get_target_type (struct type *type) |
unsigned int | type_length_units (struct type *type) |
struct type * | init_integer_type (type_allocator &alloc, int bit, int unsigned_p, const char *name) |
struct type * | init_character_type (type_allocator &alloc, int bit, int unsigned_p, const char *name) |
struct type * | init_boolean_type (type_allocator &alloc, int bit, int unsigned_p, const char *name) |
struct type * | init_float_type (type_allocator &alloc, int bit, const char *name, const struct floatformat **floatformats, enum bfd_endian byte_order=BFD_ENDIAN_UNKNOWN) |
struct type * | init_decfloat_type (type_allocator &alloc, int bit, const char *name) |
bool | can_create_complex_type (struct type *) |
struct type * | init_complex_type (const char *, struct type *) |
struct type * | init_pointer_type (type_allocator &alloc, int bit, const char *name, struct type *target_type) |
struct type * | init_fixed_point_type (type_allocator &, int, int, const char *) |
struct type * | arch_composite_type (struct gdbarch *gdbarch, const char *name, enum type_code code) |
void | append_composite_type_field (struct type *t, const char *name, struct type *field) |
void | append_composite_type_field_aligned (struct type *t, const char *name, struct type *field, int alignment) |
struct field * | append_composite_type_field_raw (struct type *t, const char *name, struct type *field) |
struct type * | arch_flags_type (struct gdbarch *gdbarch, const char *name, int bit) |
void | append_flags_type_field (struct type *type, int start_bitpos, int nr_bits, struct type *field_type, const char *name) |
void | append_flags_type_flag (struct type *type, int bitpos, const 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 *, enum type_code) |
struct type * | lookup_lvalue_reference_type (struct type *) |
struct type * | lookup_rvalue_reference_type (struct type *) |
struct type * | make_reference_type (struct type *, struct type **, enum type_code) |
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 *) |
type_instance_flags | address_space_name_to_type_instance_flags (struct gdbarch *, const char *) |
const char * | address_space_type_instance_flags_to_name (struct gdbarch *, type_instance_flags) |
struct type * | make_type_with_address_space (struct type *type, type_instance_flags 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 *) |
const char * | type_name_or_error (struct type *type) |
struct_elt | lookup_struct_elt (struct type *, const char *, int) |
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 (type_allocator &alloc, struct type *index_type, LONGEST low_bound, LONGEST high_bound) |
struct type * | create_array_type_with_stride (type_allocator &alloc, struct type *element_type, struct type *range_type, struct dynamic_prop *byte_stride_prop, unsigned int bit_stride) |
struct type * | create_range_type (type_allocator &alloc, struct type *index_type, const struct dynamic_prop *low_bound, const struct dynamic_prop *high_bound, LONGEST bias) |
struct type * | create_range_type_with_stride (type_allocator &alloc, struct type *index_type, const struct dynamic_prop *low_bound, const struct dynamic_prop *high_bound, LONGEST bias, const struct dynamic_prop *stride, bool byte_stride_p) |
struct type * | create_array_type (type_allocator &alloc, struct type *element_type, struct type *range_type) |
struct type * | lookup_array_range_type (struct type *, LONGEST, LONGEST) |
struct type * | create_string_type (type_allocator &alloc, struct type *string_char_type, struct type *range_type) |
struct type * | lookup_string_range_type (struct type *, LONGEST, LONGEST) |
struct type * | create_set_type (type_allocator &alloc, struct type *domain_type) |
struct type * | lookup_unsigned_typename (const struct language_defn *, const char *) |
struct type * | lookup_signed_typename (const struct language_defn *, const char *) |
ULONGEST | get_unsigned_type_max (struct type *) |
void | get_signed_type_minmax (struct type *, LONGEST *, LONGEST *) |
CORE_ADDR | get_pointer_type_max (struct type *) |
struct type * | resolve_dynamic_type (struct type *type, gdb::array_view< const gdb_byte > valaddr, CORE_ADDR addr, const frame_info_ptr *frame=nullptr) |
int | is_dynamic_type (struct type *type) |
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 *language, const char *name, const struct block *block, int noerr) |
struct type * | lookup_template_type (const char *, struct type *, const struct block *) |
int | get_vptr_fieldno (struct type *, struct type **) |
bool | get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp) |
gdb::optional< LONGEST > | get_discrete_low_bound (struct type *type) |
gdb::optional< LONGEST > | get_discrete_high_bound (struct type *type) |
bool | get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) |
gdb::optional< LONGEST > | discrete_position (struct type *type, LONGEST val) |
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 (const badness_vector &, const badness_vector &) |
badness_vector | rank_function (gdb::array_view< type * > parms, gdb::array_view< value * > args) |
struct rank | rank_one_type (struct type *, struct type *, struct value *) |
void | recursive_dump_type (struct type *, int) |
void | print_scalar_formatted (const gdb_byte *, struct type *, const struct value_print_options *, int, struct ui_file *) |
int | can_dereference (struct type *) |
int | is_integral_type (struct type *) |
int | is_floating_type (struct type *) |
int | is_scalar_type (struct type *type) |
int | is_scalar_type_recursive (struct type *) |
int | class_or_union_p (const struct type *) |
void | maintenance_print_type (const char *, int) |
htab_up | create_copied_types_hash () |
struct type * | copy_type_recursive (struct type *type, htab_t copied_types) |
struct type * | copy_type (const struct type *type) |
bool | types_equal (struct type *, struct type *) |
bool | types_deeply_equal (struct type *, struct type *) |
int | type_not_allocated (const struct type *type) |
int | type_not_associated (const struct type *type) |
bool | is_fixed_point_type (struct type *type) |
void | allocate_fixed_point_type_info (struct type *type) |
enum bfd_endian | type_byte_order (const struct type *type) |
bool | is_nocall_function (const struct type *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_quad [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_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 floatformat * | floatformats_bfloat16 [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 | REFERENCE_SEE_THROUGH_BADNESS |
const struct rank | NULL_POINTER_CONVERSION |
const struct rank | CV_CONVERSION_BADNESS |
const struct rank | NS_POINTER_CONVERSION_BADNESS |
const struct rank | NS_INTEGER_POINTER_CONVERSION_BADNESS |
unsigned int | overload_debug |
#define ADA_TYPE_P | ( | type | ) |
True if TYPE is known to be an Ada type of some kind.
Definition at line 1848 of file gdbtypes.h.
Referenced by ada_is_variant_part(), typy_get_name(), and valpy_getitem().
#define ALLOCATE_CPLUS_STRUCT_TYPE | ( | type | ) | allocate_cplus_struct_type (type) |
Definition at line 1824 of file gdbtypes.h.
Referenced by attach_fields_to_type(), dwarf2_add_member_fn(), dwarf2_attach_fields_to_type(), dwarf2_attach_fn_fields_to_type(), gnuv3_dynamic_class(), process_structure_scope(), read_baseclasses(), read_member_functions(), read_structure_type(), set_type_vptr_basetype(), and set_type_vptr_fieldno().
#define ALLOCATE_GNAT_AUX_TYPE | ( | type | ) | allocate_gnat_aux_type (type) |
Definition at line 1841 of file gdbtypes.h.
Referenced by set_descriptive_type().
#define B_BYTES | ( | x | ) | ( 1 + ((x)>>3) ) |
Definition at line 75 of file gdbtypes.h.
Referenced by attach_fields_to_type(), dwarf2_attach_fields_to_type(), and read_baseclasses().
#define B_CLR | ( | a, | |
x ) ((a)[(x)>>3] &= ~(1 << ((x)&7))) |
Definition at line 72 of file gdbtypes.h.
#define B_CLRALL | ( | a, | |
x ) memset ((a), 0, B_BYTES(x)) |
Definition at line 76 of file gdbtypes.h.
#define B_SET | ( | a, | |
x ) ((a)[(x)>>3] |= (1 << ((x)&7))) |
Definition at line 71 of file gdbtypes.h.
#define B_TST | ( | a, | |
x ) ((a)[(x)>>3] & (1 << ((x)&7))) |
Definition at line 73 of file gdbtypes.h.
Referenced by print_bit_vector().
#define B_TYPE unsigned char |
Definition at line 74 of file gdbtypes.h.
Referenced by attach_fields_to_type(), dwarf2_attach_fields_to_type(), and read_baseclasses().
#define BASETYPE_VIA_PUBLIC | ( | thistype, | |
index ) ((!TYPE_FIELD_PRIVATE(thistype, index)) && (!TYPE_FIELD_PROTECTED(thistype, index))) |
Definition at line 1950 of file gdbtypes.h.
Referenced by add_symbol_overload_list_adl_namespace(), cp_type_print_derivation_info(), distance_to_ancestor(), dynamic_cast_check_2(), and pascal_language::type_print_derivation_info().
#define BASETYPE_VIA_VIRTUAL | ( | thistype, | |
index ) |
Definition at line 1954 of file gdbtypes.h.
Referenced by compile_cplus_convert_struct_or_union(), cp_print_value(), cp_type_print_derivation_info(), find_method_list(), get_baseclass_offset(), gnuv2_baseclass_offset(), gnuv3_baseclass_offset(), gnuv3_dynamic_class(), gnuv3_find_method_in(), is_dynamic_type_internal(), pascal_object_print_value(), value::primitive_field(), struct_field_searcher::search(), search_struct_method(), pascal_language::type_print_derivation_info(), and value_struct_elt_for_reference().
#define CV_CONVERSION_CONST 1 |
Definition at line 2739 of file gdbtypes.h.
Referenced by rank_one_type(), and rank_one_type_parm_ptr().
#define CV_CONVERSION_VOLATILE 2 |
Definition at line 2740 of file gdbtypes.h.
Referenced by rank_one_type(), and rank_one_type_parm_ptr().
#define HAVE_CPLUS_STRUCT | ( | type | ) |
Definition at line 1826 of file gdbtypes.h.
Referenced by allocate_cplus_struct_type(), internal_type_vptr_fieldno(), is_dynamic_type_internal(), print_field_values(), recursive_dump_type(), set_type_vptr_basetype(), set_type_vptr_fieldno(), pascal_language::type_print_base(), and value_rtti_type().
#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 1844 of file gdbtypes.h.
Referenced by ada_find_parallel_type_with_name(), ada_to_fixed_type_1(), find_parallel_type_by_descriptive_type(), and set_die_type().
#define INIT_CPLUS_SPECIFIC | ( | type | ) |
Definition at line 1819 of file gdbtypes.h.
Referenced by arch_composite_type(), build_std_type_info_type(), coff_read_struct_type(), copy_type_recursive(), decode_base_type(), get_gdb_vtable_type(), new_type(), read_struct_type(), read_structure_type(), read_type(), and set_type_code().
#define INIT_FIXED_POINT_SPECIFIC | ( | type | ) |
Definition at line 1862 of file gdbtypes.h.
Referenced by copy_type_recursive(), and set_type_code().
#define INIT_FUNC_SPECIFIC | ( | type | ) |
Definition at line 1853 of file gdbtypes.h.
Referenced by copy_type_recursive(), make_function_type(), set_type_code(), and set_type_self_type().
#define INIT_GNAT_SPECIFIC | ( | type | ) |
Definition at line 1838 of file gdbtypes.h.
Referenced by ada_type_of_array(), copy_type_recursive(), and set_die_type().
#define INIT_NONE_SPECIFIC | ( | type | ) |
Definition at line 1830 of file gdbtypes.h.
Referenced by ada_template_to_fixed_record_type_1(), empty_record(), template_to_static_fixed_type(), and to_record_with_fixed_variant_part().
Definition at line 85 of file gdbtypes.h.
#define REFERENCE_CONVERSION_CONST_LVALUE 2 |
Conversion to const lvalue reference.
Definition at line 2732 of file gdbtypes.h.
Referenced by rank_one_type().
#define REFERENCE_CONVERSION_RVALUE 1 |
Conversion to rvalue reference.
Definition at line 2730 of file gdbtypes.h.
Referenced by rank_one_type().
#define SET_TYPE_FIELD_IGNORE | ( | thistype, | |
n ) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits, (n)) |
Definition at line 1970 of file gdbtypes.h.
Referenced by attach_fields_to_type().
#define SET_TYPE_FIELD_PRIVATE | ( | thistype, | |
n ) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n)) |
Definition at line 1966 of file gdbtypes.h.
Referenced by attach_fields_to_type(), and dwarf2_attach_fields_to_type().
#define SET_TYPE_FIELD_PROTECTED | ( | thistype, | |
n ) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n)) |
Definition at line 1968 of file gdbtypes.h.
Referenced by attach_fields_to_type(), and dwarf2_attach_fields_to_type().
#define SET_TYPE_FIELD_VIRTUAL | ( | thistype, | |
n ) B_SET (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) |
Definition at line 1972 of file gdbtypes.h.
Referenced by dwarf2_attach_fields_to_type(), and read_baseclasses().
#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_INSTANCE_FLAG_ADDRESS_CLASS_n flags may be used in target specific ways to represent these different types of address classes.
Definition at line 186 of file gdbtypes.h.
Referenced by ft32_pointer_to_address(), and recursive_dump_type().
#define TYPE_ADDRESS_CLASS_2 | ( | t | ) |
Definition at line 188 of file gdbtypes.h.
Referenced by recursive_dump_type().
#define TYPE_ADDRESS_CLASS_ALL | ( | t | ) |
Definition at line 192 of file gdbtypes.h.
Referenced by replace_type().
#define TYPE_ALIGN_BITS 8 |
Number of bits allocated for alignment.
Definition at line 945 of file gdbtypes.h.
Referenced by set_type_align().
#define TYPE_ALLOC | ( | t, | |
size ) |
Definition at line 2215 of file gdbtypes.h.
Referenced by type::alloc_fields(), copy_type_recursive(), dwarf2_attach_fn_fields_to_type(), init_complex_type(), and process_structure_scope().
#define TYPE_ALLOCATED_PROP | ( | thistype | ) | ((thistype)->dyn_prop (DYN_PROP_ALLOCATED)) |
Definition at line 1904 of file gdbtypes.h.
Referenced by f_language::f_type_print_varspec_suffix(), is_dynamic_type_internal(), recursive_dump_type(), resolve_dynamic_array_or_string_1(), and type_not_allocated().
#define TYPE_ASSOCIATED_PROP | ( | thistype | ) | ((thistype)->dyn_prop (DYN_PROP_ASSOCIATED)) |
Definition at line 1906 of file gdbtypes.h.
Referenced by f_language::f_type_print_varspec_suffix(), fortran_associated(), is_dynamic_type_internal(), recursive_dump_type(), resolve_dynamic_array_or_string_1(), and type_not_associated().
#define TYPE_ATOMIC | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_ATOMIC) != 0) |
Atomic type. If this is set, the corresponding type has an _Atomic modifier.
Definition at line 134 of file gdbtypes.h.
Referenced by c_type_print_modifier(), cp_type_print_method_args(), and recursive_dump_type().
Definition at line 1946 of file gdbtypes.h.
Referenced by expr::add_struct_fields(), add_symbol_overload_list_adl_namespace(), check_field(), compile_cplus_convert_struct_or_union(), cp_find_type_baseclass_by_name(), cp_print_value(), cp_type_print_derivation_info(), define_symbol(), distance_to_ancestor(), dynamic_cast_check_1(), dynamic_cast_check_2(), f_language::f_type_print_derivation_info(), find_method_list(), find_methods(), find_symbol_in_baseclass(), find_symbol_in_baseclass(), gen_struct_ref_recursive(), gen_trace_static_fields(), get_vptr_fieldno(), gnuv2_baseclass_offset(), is_unique_ancestor_worker(), lookup_struct_elt(), pascal_object_print_value(), typedef_hash_table::recursively_update(), struct_field_searcher::search(), search_struct_method(), pascal_language::type_print_derivation_info(), and value_struct_elt_for_reference().
#define TYPE_BASECLASS_BITPOS | ( | thistype, | |
index ) (thistype->field (index).loc_bitpos ()) |
Definition at line 1949 of file gdbtypes.h.
Referenced by find_method_list(), gen_struct_ref_recursive(), gnuv2_baseclass_offset(), gnuv2_value_rtti_type(), gnuv3_baseclass_offset(), gnuv3_find_method_in(), struct_field_searcher::search(), search_struct_method(), and value_struct_elt_for_reference().
Definition at line 1948 of file gdbtypes.h.
Referenced by cp_find_type_baseclass_by_name(), define_symbol(), find_symbol_in_baseclass(), find_symbol_in_baseclass(), and struct_field_searcher::search().
#define TYPE_CALLING_CONVENTION | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->calling_convention |
Definition at line 1943 of file gdbtypes.h.
Referenced by copy_type_recursive(), is_nocall_function(), ppc_sysv_use_opencl_abi(), read_subroutine_type(), recursive_dump_type(), and sh_is_renesas_calling_convention().
#define TYPE_CHAIN | ( | thistype | ) | (thistype)->chain |
Definition at line 1870 of file gdbtypes.h.
Referenced by alloc_type_instance(), fake_method::fake_method(), make_pointer_type(), make_qualified_type(), make_reference_type(), type_allocator::new_type(), recursive_dump_type(), replace_type(), set_length_in_type_chain(), and smash_type().
#define TYPE_CODE_SPACE | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_CODE_SPACE) != 0) |
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_INSTANCE_FLAG_CODE_SPACE 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_INSTANCE_FLAG_DATA_SPACE 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 173 of file gdbtypes.h.
Referenced by avr_pointer_to_address(), iq2000_pointer_to_address(), recursive_dump_type(), and rl78_pointer_to_address().
#define TYPE_CONST | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_CONST) != 0) |
Constant type. If this is set, the corresponding type has a const modifier.
Definition at line 117 of file gdbtypes.h.
Referenced by add_array_cv_type(), c_type_print_modifier(), compile_cplus_convert_method(), compile_cplus_convert_qualified(), convert_qualified(), cp_type_print_method_args(), create_value(), dwarf2_compute_name(), type_stack::follow_types(), m2_pointer(), rank_one_type(), rank_one_type_parm_ptr(), read_subroutine_type(), read_tag_volatile_type(), read_type(), recursive_dump_type(), m2_language::value_print_inner(), value_rtti_indirect_type(), and value_struct_elt_for_reference().
#define TYPE_CPLUS_CALLING_CONVENTION | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.cplus_stuff->calling_convention |
Definition at line 1938 of file gdbtypes.h.
Referenced by gnuv3_pass_by_reference(), print_cplus_stuff(), and read_structure_type().
#define TYPE_CPLUS_DYNAMIC | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->is_dynamic |
Definition at line 1952 of file gdbtypes.h.
Referenced by dwarf2_add_member_fn(), and gnuv3_dynamic_class().
#define TYPE_CPLUS_SPECIFIC | ( | thistype | ) |
Definition at line 1933 of file gdbtypes.h.
Referenced by recursive_dump_type().
#define TYPE_DATA_LOCATION | ( | thistype | ) | ((thistype)->dyn_prop (DYN_PROP_DATA_LOCATION)) |
Definition at line 1892 of file gdbtypes.h.
Referenced by f_language::f_type_print_varspec_suffix(), is_dynamic_type_internal(), value::primitive_field(), resolve_dynamic_type_internal(), value::set_component_location(), and value_from_contents_and_address().
#define TYPE_DATA_LOCATION_ADDR | ( | thistype | ) | (TYPE_DATA_LOCATION (thistype)->const_val ()) |
Definition at line 1896 of file gdbtypes.h.
Referenced by value::set_component_location(), and value_from_contents_and_address().
#define TYPE_DATA_LOCATION_BATON | ( | thistype | ) | TYPE_DATA_LOCATION (thistype)->data.baton |
Definition at line 1894 of file gdbtypes.h.
#define TYPE_DATA_LOCATION_KIND | ( | thistype | ) | (TYPE_DATA_LOCATION (thistype)->kind ()) |
Definition at line 1898 of file gdbtypes.h.
Referenced by is_dynamic_type_internal().
#define TYPE_DATA_SPACE | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_DATA_SPACE) != 0) |
Definition at line 176 of file gdbtypes.h.
Referenced by avr_integer_to_address(), and recursive_dump_type().
#define TYPE_DESCRIPTIVE_TYPE | ( | thistype | ) | TYPE_GNAT_SPECIFIC(thistype)->descriptive_type |
Definition at line 1942 of file gdbtypes.h.
Referenced by find_parallel_type_by_descriptive_type(), print_gnat_stuff(), and set_descriptive_type().
#define TYPE_DYNAMIC_LENGTH | ( | thistype | ) | ((thistype)->dyn_prop (DYN_PROP_BYTE_SIZE)) |
Definition at line 1900 of file gdbtypes.h.
Referenced by resolve_dynamic_type_internal().
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 2066 of file gdbtypes.h.
Referenced by c_type_print_base_1(), f_language::f_type_print_base(), generic_value_print(), and pascal_language::type_print_base().
#define TYPE_FIELD_IGNORE | ( | thistype, | |
n ) |
Definition at line 1980 of file gdbtypes.h.
Referenced by compile_cplus_convert_struct_or_union_members(), cp_print_value_fields(), pascal_object_print_value_fields(), and print_field_values().
#define TYPE_FIELD_IGNORE_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits |
Definition at line 1962 of file gdbtypes.h.
Referenced by attach_fields_to_type(), and dwarf2_attach_fields_to_type().
#define TYPE_FIELD_PRIVATE | ( | thistype, | |
n ) |
Definition at line 1974 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), cplus_class_num_children(), get_field_access_flag(), match_accessibility(), need_access_label_p(), and pascal_language::type_print_base().
#define TYPE_FIELD_PRIVATE_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits |
Definition at line 1958 of file gdbtypes.h.
Referenced by attach_fields_to_type(), dwarf2_attach_fields_to_type(), and print_cplus_stuff().
#define TYPE_FIELD_PROTECTED | ( | thistype, | |
n ) |
Definition at line 1977 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), cp_type_print_derivation_info(), cplus_class_num_children(), get_field_access_flag(), match_accessibility(), need_access_label_p(), and pascal_language::type_print_base().
#define TYPE_FIELD_PROTECTED_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits |
Definition at line 1960 of file gdbtypes.h.
Referenced by attach_fields_to_type(), dwarf2_attach_fields_to_type(), and print_cplus_stuff().
#define TYPE_FIELD_VIRTUAL | ( | thistype, | |
n ) |
Definition at line 1983 of file gdbtypes.h.
#define TYPE_FIELD_VIRTUAL_BITS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits |
Definition at line 1964 of file gdbtypes.h.
Referenced by dwarf2_attach_fields_to_type(), print_cplus_stuff(), and read_baseclasses().
#define TYPE_FLOATFORMAT | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.floatformat |
Definition at line 1940 of file gdbtypes.h.
Referenced by copy_type_recursive(), floatformat_from_type(), init_float_type(), and recursive_dump_type().
#define TYPE_FN_FIELD | ( | thisfn, | |
n ) (thisfn)[n] |
Definition at line 2000 of file gdbtypes.h.
#define TYPE_FN_FIELD_ARGS | ( | thisfn, | |
n ) (((thisfn)[n].type)->fields ()) |
Definition at line 2003 of file gdbtypes.h.
Referenced by dump_fn_fieldlists(), find_oload_champ(), and search_struct_method().
#define TYPE_FN_FIELD_ARTIFICIAL | ( | thisfn, | |
n ) ((thisfn)[n].is_artificial) |
Definition at line 2008 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_struct_or_union_methods(), get_def_style(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_CONST | ( | thisfn, | |
n ) ((thisfn)[n].is_const) |
Definition at line 2004 of file gdbtypes.h.
Referenced by compute_delayed_physnames(), dump_fn_fieldlists(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_CONSTRUCTOR | ( | thisfn, | |
n ) ((thisfn)[n].is_constructor) |
Definition at line 2010 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), classify_name(), and gnuv3_pass_by_reference().
#define TYPE_FN_FIELD_DEFAULTED | ( | thisfn, | |
n ) ((thisfn)[n].defaulted) |
Definition at line 2015 of file gdbtypes.h.
Referenced by dump_fn_fieldlists(), and get_def_style().
#define TYPE_FN_FIELD_DELETED | ( | thisfn, | |
n ) ((thisfn)[n].is_deleted) |
Definition at line 2016 of file gdbtypes.h.
Referenced by dump_fn_fieldlists(), and get_def_style().
#define TYPE_FN_FIELD_FCONTEXT | ( | thisfn, | |
n ) ((thisfn)[n].fcontext) |
Definition at line 2011 of file gdbtypes.h.
Referenced by dump_fn_fieldlists(), and gnuv2_virtual_fn_field().
#define TYPE_FN_FIELD_PHYSNAME | ( | thisfn, | |
n ) (thisfn)[n].physname |
Definition at line 2001 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), call_function_by_hand_dummy(), check_stub_method(), compile_cplus_convert_struct_or_union_methods(), compute_delayed_physnames(), dump_fn_fieldlists(), find_methods(), gdb_mangle_name(), gnuv3_find_method_in(), gnuv3_pass_by_reference(), pascal_language::type_print_base(), value_fn_field(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_PRIVATE | ( | thisfn, | |
n ) ((thisfn)[n].is_private) |
Definition at line 2006 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), dump_fn_fieldlists(), get_method_access_flag(), need_access_label_p(), and pascal_language::type_print_base().
#define TYPE_FN_FIELD_PROTECTED | ( | thisfn, | |
n ) ((thisfn)[n].is_protected) |
Definition at line 2007 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), dump_fn_fieldlists(), get_method_access_flag(), need_access_label_p(), and pascal_language::type_print_base().
#define TYPE_FN_FIELD_STATIC_P | ( | thisfn, | |
n ) ((thisfn)[n].voffset == VOFFSET_STATIC) |
Definition at line 2014 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), check_stub_method(), compile_cplus_convert_struct_or_union_methods(), oload_method_static_p(), search_struct_method(), pascal_language::type_print_base(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_STUB | ( | thisfn, | |
n ) ((thisfn)[n].is_stub) |
Definition at line 2009 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), check_stub_method(), check_stub_method_group(), dump_fn_fieldlists(), and find_methods().
#define TYPE_FN_FIELD_TYPE | ( | thisfn, | |
n ) (thisfn)[n].type |
Definition at line 2002 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), check_stub_method(), compile_cplus_convert_struct_or_union_methods(), dump_fn_fieldlists(), find_oload_champ(), gnuv2_virtual_fn_field(), gnuv3_pass_by_reference(), gnuv3_virtual_fn_field(), search_struct_method(), pascal_language::type_print_base(), value_fn_field(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_VIRTUAL_P | ( | thisfn, | |
n ) ((thisfn)[n].voffset > 1) |
Definition at line 2013 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_struct_or_union_methods(), compute_vtable_size(), find_overload_match(), gnuv3_dynamic_class(), search_struct_method(), pascal_language::type_print_base(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_VOFFSET | ( | thisfn, | |
n ) ((thisfn)[n].voffset-2) |
Definition at line 2012 of file gdbtypes.h.
Referenced by compute_vtable_size(), dump_fn_fieldlists(), gnuv2_virtual_fn_field(), gnuv3_find_method_in(), gnuv3_virtual_fn_field(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELD_VOLATILE | ( | thisfn, | |
n ) ((thisfn)[n].is_volatile) |
Definition at line 2005 of file gdbtypes.h.
Referenced by compute_delayed_physnames(), dump_fn_fieldlists(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELDLIST | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n] |
Definition at line 1988 of file gdbtypes.h.
Referenced by check_field(), compute_delayed_physnames(), and dwarf2_attach_fn_fields_to_type().
#define TYPE_FN_FIELDLIST1 | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].fn_fields |
Definition at line 1989 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), call_function_by_hand_dummy(), check_stub_method(), check_stub_method_group(), compile_cplus_convert_struct_or_union_methods(), compute_vtable_size(), dump_fn_fieldlists(), find_method_list(), find_methods(), gdb_mangle_name(), get_method_access_flag(), gnuv3_dynamic_class(), gnuv3_find_method_in(), gnuv3_pass_by_reference(), need_access_label_p(), search_struct_method(), pascal_language::type_print_base(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELDLIST_LENGTH | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].length |
Definition at line 1991 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), check_stub_method_group(), compile_cplus_convert_struct_or_union_methods(), compute_vtable_size(), dump_fn_fieldlists(), dwarf2_attach_fn_fields_to_type(), find_method_list(), find_methods(), gnuv3_dynamic_class(), gnuv3_find_method_in(), gnuv3_pass_by_reference(), need_access_label_p(), search_struct_method(), pascal_language::type_print_base(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELDLIST_NAME | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists[n].name |
Definition at line 1990 of file gdbtypes.h.
Referenced by expr::add_struct_fields(), c_type_print_base_struct_union(), call_function_by_hand_dummy(), check_field(), compile_cplus_convert_struct_or_union_methods(), dump_fn_fieldlists(), dwarf2_attach_fn_fields_to_type(), find_method_list(), find_methods(), gdb_mangle_name(), gnuv3_pass_by_reference(), is_type_conversion_operator(), search_struct_method(), pascal_language::type_print_base(), and value_struct_elt_for_reference().
#define TYPE_FN_FIELDLISTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->fn_fieldlists |
Definition at line 1987 of file gdbtypes.h.
Referenced by attach_fn_fields_to_type(), dump_fn_fieldlists(), dwarf2_attach_fn_fields_to_type(), and read_member_functions().
#define TYPE_GNAT_SPECIFIC | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.gnat_stuff |
Definition at line 1941 of file gdbtypes.h.
Referenced by allocate_gnat_aux_type(), and recursive_dump_type().
#define TYPE_HAS_DYNAMIC_LENGTH | ( | t | ) | ((t)->dyn_prop (DYN_PROP_BYTE_SIZE) != nullptr) |
True if this type has a dynamic length.
Definition at line 151 of file gdbtypes.h.
Referenced by aarch64_return_in_memory(), amd64_classify_aggregate(), arm_return_in_memory(), i386_reg_struct_return_p(), is_dynamic_type_internal(), riscv_arg_location(), riscv_call_arg_scalar_int(), and typy_get_sizeof().
#define TYPE_HAS_VARIANT_PARTS | ( | t | ) | ((t)->dyn_prop (DYN_PROP_VARIANT_PARTS) != nullptr) |
True if this type has variant parts.
Definition at line 147 of file gdbtypes.h.
Referenced by rust_enum_p().
#define TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1 | TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2) |
Definition at line 190 of file gdbtypes.h.
Referenced by address_space_type_instance_flags_to_name(), check_typedef(), make_type_with_address_space(), and read_tag_pointer_type().
#define TYPE_IS_ALLOCATABLE | ( | t | ) | ((t)->dyn_prop (DYN_PROP_ALLOCATED) != NULL) |
True if this type is allocatable.
Definition at line 143 of file gdbtypes.h.
Referenced by f_language::f_type_print_base().
#define TYPE_IS_OPAQUE | ( | thistype | ) |
Definition at line 2049 of file gdbtypes.h.
Referenced by basic_lookup_transparent_type_1(), basic_lookup_transparent_type_quick(), block_find_symbol(), and check_typedef().
#define TYPE_IS_REFERENCE | ( | t | ) | ((t)->code () == TYPE_CODE_REF || (t)->code () == TYPE_CODE_RVALUE_REF) |
True if this type represents either an lvalue or lvalue reference type.
Definition at line 139 of file gdbtypes.h.
Referenced by aarch64_store_return_value(), adjust_value_for_child_access(), amd64_classify(), arm_extract_return_value(), arm_store_return_value(), binop_types_user_defined_p(), BP_MANIPULATION(), c_print_type_1(), c_type_print_modifier(), c_value_of_variable(), c_value_print(), coerce_ref(), coerce_ref_if_computed(), python_xmethod_worker::do_get_result_type(), do_ppc_sysv_return_value(), entry_data_value_coerce_ref(), expr::var_value_operation::evaluate_for_address(), evaluate_subexp_for_address_base(), evaluate_subexp_for_sizeof_base(), generate_vla_size(), info_mach_region_command(), python_xmethod_worker::invoke(), is_integral_or_integral_reference(), type::is_pointer_or_reference(), m32c_m16c_address_to_pointer(), m32c_m16c_pointer_to_address(), m32c_reg_arg_type(), mi_simple_type_p(), msp430_push_dummy_call(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_return_value(), ptrmath_type_p(), rank_one_type(), s390_function_arg_integer(), should_validate_memtags(), typecmp(), typy_template_argument(), unop_user_defined_p(), val_print_scalar_type_p(), value_addr(), value_arg_coerce(), value_cast(), value_cast_pointers(), value_dynamic_cast(), value_of_dwarf_reg_entry(), value_reinterpret_cast(), value_rtti_indirect_type(), varobj_get_value_type(), x_command(), and yyparse().
#define TYPE_MAIN_TYPE | ( | thistype | ) | (thistype)->main_type |
Definition at line 1866 of file gdbtypes.h.
Referenced by ada_to_fixed_type(), alloc_type_instance(), class_types_same_p(), copy_type(), copy_type_recursive(), dwarf2_evaluate_property(), fake_method::fake_method(), init_boolean_type(), init_complex_type(), init_integer_type(), internal_type_self_type(), make_qualified_type(), type_allocator::new_type(), read_base_type(), replace_type(), resolve_dynamic_array_or_string(), set_type_self_type(), and smash_type().
#define TYPE_N_BASECLASSES | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->n_baseclasses |
Definition at line 1947 of file gdbtypes.h.
Referenced by expr::add_struct_fields(), add_symbol_overload_list_adl_namespace(), c_type_print_base_struct_union(), check_field(), compile_cplus_convert_struct_or_union(), compile_cplus_convert_struct_or_union_members(), completion_list_add_fields(), compute_vtable_size(), convert_field(), cp_find_class_member(), cp_find_type_baseclass_by_name(), cp_lookup_nested_symbol_1(), cp_print_value(), cp_print_value_fields(), cp_type_print_derivation_info(), cplus_class_num_children(), cplus_describe_child(), cplus_number_of_children(), define_symbol(), distance_to_ancestor(), dwarf2_attach_fields_to_type(), dynamic_cast_check_1(), dynamic_cast_check_2(), enum_constant_from_type(), f_language::f_type_print_derivation_info(), find_method_list(), find_methods(), find_symbol_in_baseclass(), find_symbol_in_baseclass(), gdbscm_field_baseclass_p(), gen_struct_elt_for_reference(), gen_struct_ref_recursive(), gen_trace_static_fields(), get_baseclass_offset(), get_long_set_bounds(), get_vptr_fieldno(), gnuv2_baseclass_offset(), gnuv2_value_rtti_type(), gnuv3_dynamic_class(), gnuv3_find_method_in(), is_unique_ancestor_worker(), lookup_struct_elt(), m2_is_long_set(), m2_is_long_set_of_type(), m2_long_set(), m2_print_long_set(), m2_record_fields(), need_access_label_p(), pascal_object_print_value(), pascal_object_print_value_fields(), value::primitive_field(), print_cplus_stuff(), process_structure_scope(), read_baseclasses(), read_tilde_fields(), typedef_hash_table::recursively_update(), rust_print_struct_def(), struct_field_searcher::search(), search_struct_method(), pascal_language::type_print_base(), pascal_language::type_print_derivation_info(), value_struct_elt_bitpos(), and value_struct_elt_for_reference().
#define TYPE_N_TEMPLATE_ARGUMENTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->n_template_arguments |
Definition at line 1993 of file gdbtypes.h.
Referenced by typedef_hash_table::add_template_parameters(), c_type_print_template_args(), cp_lookup_symbol_imports_or_template(), process_structure_scope(), and typy_template_argument().
#define TYPE_NESTED_TYPES_ARRAY | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->nested_types |
Definition at line 2034 of file gdbtypes.h.
Referenced by process_structure_scope().
#define TYPE_NESTED_TYPES_COUNT | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->nested_types_count |
Definition at line 2042 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_type_defns(), and process_structure_scope().
#define TYPE_NESTED_TYPES_FIELD | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC (thistype)->nested_types[n] |
Definition at line 2036 of file gdbtypes.h.
Referenced by process_structure_scope().
#define TYPE_NESTED_TYPES_FIELD_NAME | ( | thistype, | |
n ) TYPE_NESTED_TYPES_FIELD (thistype, n).name |
Definition at line 2038 of file gdbtypes.h.
#define TYPE_NESTED_TYPES_FIELD_PRIVATE | ( | thistype, | |
n ) TYPE_NESTED_TYPES_FIELD (thistype, n).is_private |
Definition at line 2046 of file gdbtypes.h.
Referenced by compile_cplus_convert_type_defns().
#define TYPE_NESTED_TYPES_FIELD_PROTECTED | ( | thistype, | |
n ) TYPE_NESTED_TYPES_FIELD (thistype, n).is_protected |
Definition at line 2044 of file gdbtypes.h.
Referenced by compile_cplus_convert_type_defns().
#define TYPE_NESTED_TYPES_FIELD_TYPE | ( | thistype, | |
n ) TYPE_NESTED_TYPES_FIELD (thistype, n).type |
Definition at line 2040 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), and compile_cplus_convert_type_defns().
#define TYPE_NFN_FIELDS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC(thistype)->nfn_fields |
Definition at line 1925 of file gdbtypes.h.
Referenced by expr::add_struct_fields(), attach_fn_fields_to_type(), c_type_print_base_struct_union(), call_function_by_hand_dummy(), check_field(), compile_cplus_convert_struct_or_union_methods(), compute_vtable_size(), dump_fn_fieldlists(), dwarf2_attach_fn_fields_to_type(), find_method_list(), find_methods(), gnuv3_dynamic_class(), gnuv3_find_method_in(), gnuv3_pass_by_reference(), need_access_label_p(), print_cplus_stuff(), read_member_functions(), recursive_dump_type(), search_struct_method(), pascal_language::type_print_base(), value_struct_elt(), and value_struct_elt_for_reference().
#define TYPE_NO_RETURN | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->is_noreturn |
Definition at line 1944 of file gdbtypes.h.
Referenced by copy_type_recursive(), finish_command(), and read_subroutine_type().
#define TYPE_NOTTEXT | ( | t | ) | (((t)->instance_flags ()) & 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 112 of file gdbtypes.h.
Referenced by c_textual_element_type(), check_types_equal(), and recursive_dump_type().
#define TYPE_POINTER_TYPE | ( | thistype | ) | (thistype)->pointer_type |
Definition at line 1867 of file gdbtypes.h.
Referenced by make_pointer_type(), make_qualified_type(), recursive_dump_type(), and yyparse().
#define TYPE_RANK_PROP | ( | thistype | ) | ((thistype)->dyn_prop (DYN_PROP_RANK)) |
Definition at line 1908 of file gdbtypes.h.
Referenced by resolve_dynamic_array_or_string().
#define TYPE_RAW_ALIGN | ( | thistype | ) | type_raw_align (thistype) |
Return the alignment of the type in target addressable memory units, or 0 if no alignment was specified.
Definition at line 1874 of file gdbtypes.h.
Referenced by read_enumeration_type(), and read_tag_pointer_type().
#define TYPE_RAW_CPLUS_SPECIFIC | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.cplus_stuff |
Definition at line 1937 of file gdbtypes.h.
Referenced by allocate_cplus_struct_type(), internal_type_vptr_basetype(), internal_type_vptr_fieldno(), set_type_vptr_basetype(), and set_type_vptr_fieldno().
#define TYPE_REFERENCE_TYPE | ( | thistype | ) | (thistype)->reference_type |
Definition at line 1868 of file gdbtypes.h.
Referenced by make_qualified_type(), make_reference_type(), and recursive_dump_type().
#define TYPE_RESTRICT | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_RESTRICT) != 0) |
Restrict type. If this is set, the corresponding type has a restrict modifier.
Definition at line 128 of file gdbtypes.h.
Referenced by c_type_print_modifier(), compile_cplus_convert_method(), compile_cplus_convert_qualified(), convert_qualified(), cp_type_print_method_args(), and recursive_dump_type().
#define TYPE_RVALUE_REFERENCE_TYPE | ( | thistype | ) | (thistype)->rvalue_reference_type |
Definition at line 1869 of file gdbtypes.h.
Referenced by make_reference_type().
A helper macro that returns the name of a type or "unnamed type" if the type has no name.
Definition at line 2060 of file gdbtypes.h.
Referenced by convert_to_kind_type(), eval_op_f_abs(), eval_op_f_mod(), eval_op_f_modulo(), gnuv3_rtti_type(), hash_typedef_field(), print_one_vtable(), riscv_print_arg_location(), search_struct_field(), struct_field_searcher::update_result(), and yyparse().
#define TYPE_SELF_TYPE | ( | thistype | ) | internal_type_self_type (thistype) |
Definition at line 1913 of file gdbtypes.h.
Referenced by c_type_print_varspec_prefix(), compile_cplus_convert_memberptr(), convert_type_cplus_basic(), copy_type_recursive(), cp_print_class_member(), eval_op_member(), expr::structop_member_base::evaluate_funcall(), find_overload_match(), gnuv3_method_ptr_to_value(), gnuv3_print_method_ptr(), read_member_functions(), recursive_dump_type(), smash_to_methodptr_type(), pascal_language::type_print_varspec_prefix(), and value_struct_elt_for_reference().
#define TYPE_SPECIFIC_FIELD | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific_field |
Definition at line 1926 of file gdbtypes.h.
Referenced by allocate_cplus_struct_type(), allocate_gnat_aux_type(), copy_type_recursive(), finish_fixed_point_type(), func_addr_to_tail_call_list(), init_boolean_type(), init_integer_type(), internal_type_self_type(), internal_type_vptr_basetype(), read_base_type(), recursive_dump_type(), set_type_code(), and set_type_self_type().
#define TYPE_TAIL_CALL_LIST | ( | thistype | ) | TYPE_MAIN_TYPE(thistype)->type_specific.func_stuff->tail_call_list |
Definition at line 1945 of file gdbtypes.h.
Referenced by call_site_find_chain_2(), copy_type_recursive(), func_verify_no_selftailcall(), and read_call_site_scope().
#define TYPE_TEMPLATE_ARGUMENT | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC (thistype)->template_arguments[n] |
Definition at line 1997 of file gdbtypes.h.
Referenced by typedef_hash_table::add_template_parameters(), c_type_print_template_args(), process_structure_scope(), and typy_template_argument().
#define TYPE_TEMPLATE_ARGUMENTS | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->template_arguments |
Definition at line 1995 of file gdbtypes.h.
Referenced by cp_lookup_symbol_imports_or_template(), and process_structure_scope().
#define TYPE_TYPEDEF_FIELD | ( | thistype, | |
n ) TYPE_CPLUS_SPECIFIC (thistype)->typedef_field[n] |
Definition at line 2021 of file gdbtypes.h.
Referenced by process_structure_scope(), and typedef_hash_table::recursively_update().
#define TYPE_TYPEDEF_FIELD_ARRAY | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->typedef_field |
Definition at line 2019 of file gdbtypes.h.
Referenced by process_structure_scope().
#define TYPE_TYPEDEF_FIELD_COUNT | ( | thistype | ) | TYPE_CPLUS_SPECIFIC (thistype)->typedef_field_count |
Definition at line 2027 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_type_defns(), need_access_label_p(), process_structure_scope(), and typedef_hash_table::recursively_update().
#define TYPE_TYPEDEF_FIELD_NAME | ( | thistype, | |
n ) TYPE_TYPEDEF_FIELD (thistype, n).name |
Definition at line 2023 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union().
#define TYPE_TYPEDEF_FIELD_PRIVATE | ( | thistype, | |
n ) TYPE_TYPEDEF_FIELD (thistype, n).is_private |
Definition at line 2031 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_type_defns(), and need_access_label_p().
#define TYPE_TYPEDEF_FIELD_PROTECTED | ( | thistype, | |
n ) TYPE_TYPEDEF_FIELD (thistype, n).is_protected |
Definition at line 2029 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), compile_cplus_convert_type_defns(), and need_access_label_p().
#define TYPE_TYPEDEF_FIELD_TYPE | ( | thistype, | |
n ) TYPE_TYPEDEF_FIELD (thistype, n).type |
Definition at line 2025 of file gdbtypes.h.
Referenced by c_type_print_base_struct_union(), and compile_cplus_convert_type_defns().
#define TYPE_VOLATILE | ( | t | ) | ((((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_VOLATILE) != 0) |
Volatile type. If this is set, the corresponding type has a volatile modifier.
Definition at line 122 of file gdbtypes.h.
Referenced by add_array_cv_type(), c_type_print_modifier(), compile_cplus_convert_method(), compile_cplus_convert_qualified(), convert_qualified(), cp_type_print_method_args(), create_value(), type_stack::follow_types(), rank_one_type(), rank_one_type_parm_ptr(), read_subroutine_type(), read_tag_const_type(), read_type(), recursive_dump_type(), value_rtti_indirect_type(), and value_struct_elt_for_reference().
#define TYPE_VPTR_BASETYPE | ( | thistype | ) | internal_type_vptr_basetype (thistype) |
Definition at line 1923 of file gdbtypes.h.
Referenced by get_vptr_fieldno(), gnuv2_virtual_fn_field(), and print_cplus_stuff().
#define TYPE_VPTR_FIELDNO | ( | thistype | ) | internal_type_vptr_fieldno (thistype) |
Definition at line 1922 of file gdbtypes.h.
Referenced by get_vptr_fieldno(), gnuv2_value_rtti_type(), print_cplus_stuff(), process_structure_scope(), and read_tilde_fields().
#define TYPE_ZALLOC | ( | t, | |
size ) (memset (TYPE_ALLOC (t, size), 0, size)) |
Definition at line 2224 of file gdbtypes.h.
Referenced by type::alloc_fields(), allocate_cplus_struct_type(), allocate_gnat_aux_type(), attach_fields_to_type(), check_stub_method(), create_range_type(), dwarf2_attach_fields_to_type(), dwarf2_attach_fn_fields_to_type(), parse_type(), quirk_rust_enum(), read_baseclasses(), read_member_functions(), and rewrite_array_type().
#define VOFFSET_STATIC 1 |
Definition at line 1598 of file gdbtypes.h.
Referenced by dwarf2_add_member_fn(), and read_member_functions().
typedef std::vector<rank> badness_vector |
Used for ranking a function for overload resolution.
Definition at line 1760 of file gdbtypes.h.
enum dynamic_prop_kind |
Enumerator | |
---|---|
PROP_UNDEFINED | |
PROP_CONST | |
PROP_ADDR_OFFSET | |
PROP_LOCEXPR | |
PROP_LOCLIST | |
PROP_VARIANT_PARTS | |
PROP_TYPE | |
PROP_VARIABLE_NAME |
Definition at line 273 of file gdbtypes.h.
Define a type's dynamic property node kind.
Enumerator | |
---|---|
DYN_PROP_DATA_LOCATION | |
DYN_PROP_ALLOCATED | |
DYN_PROP_ASSOCIATED | |
DYN_PROP_BYTE_STRIDE | |
DYN_PROP_VARIANT_PARTS | |
DYN_PROP_RANK | |
DYN_PROP_BYTE_SIZE |
Definition at line 435 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 |
Definition at line 479 of file gdbtypes.h.
enum type_code |
Different kinds of data types are distinguished by the ‘code’ field.
Enumerator | |
---|---|
TYPE_CODE_UNDEF | Not used; catches errors |
Definition at line 81 of file gdbtypes.h.
enum type_instance_flag_value : unsigned |
Some bits for the type's instance_flags word. See the macros below for documentation on each bit.
Definition at line 94 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 | |
TYPE_SPECIFIC_INT | |
TYPE_SPECIFIC_FIXED_POINT |
Definition at line 499 of file gdbtypes.h.
|
extern |
Definition at line 614 of file gdbtypes.c.
References gdbarch_address_class_name_to_type_flags(), gdbarch_address_class_name_to_type_flags_p(), TYPE_INSTANCE_FLAG_CODE_SPACE, and TYPE_INSTANCE_FLAG_DATA_SPACE.
Referenced by type_stack::insert().
|
extern |
Definition at line 637 of file gdbtypes.c.
References gdbarch_address_class_type_flags_to_name(), gdbarch_address_class_type_flags_to_name_p(), TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL, TYPE_INSTANCE_FLAG_CODE_SPACE, and TYPE_INSTANCE_FLAG_DATA_SPACE.
Referenced by c_type_print_modifier().
|
extern |
Definition at line 3294 of file gdbtypes.c.
References cplus_struct_default, HAVE_CPLUS_STRUCT, set_type_vptr_fieldno(), TYPE_RAW_CPLUS_SPECIFIC, TYPE_SPECIFIC_CPLUS_STUFF, TYPE_SPECIFIC_FIELD, and TYPE_ZALLOC.
|
extern |
Definition at line 5834 of file gdbtypes.c.
References fixed_point_objfile_key, registry< T >::get(), type::is_objfile_owned(), type::objfile_owner(), and type::set_fixed_point_info().
|
extern |
Definition at line 3315 of file gdbtypes.c.
References gnat_aux_default, TYPE_GNAT_SPECIFIC, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_GNAT_STUFF, and TYPE_ZALLOC.
Definition at line 5810 of file gdbtypes.c.
References append_composite_type_field_aligned(), and name.
Referenced by aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), aarch64_vnv_type(), arm_neon_double_type(), arm_neon_quad_type(), csky_vector_type(), fbsd_get_siginfo_type(), i386_bnd_type(), i386_mmx_type(), i386_ymm_type(), i386_zmm_type(), linux_get_siginfo_type_with_fields(), make_gdb_type(), nbsd_get_siginfo_type(), riscv_fpreg_d_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), selftests::unpack::unpack_field_as_long_tests(), windows_get_siginfo_type(), and windows_get_tlb_type().
|
extern |
Definition at line 5770 of file gdbtypes.c.
References append_composite_type_field_raw(), type::code(), f(), type::length(), field::loc_bitpos(), name, type::num_fields(), and type::set_length().
Referenced by append_composite_type_field(), linux_get_siginfo_type_with_fields(), selftests::unpack::unpack_field_as_long_tests(), windows_get_siginfo_type(), and windows_get_tlb_type().
struct field * append_composite_type_field_raw | ( | struct type * | t, |
const char * | name, | ||
struct type * | field ) |
Definition at line 5751 of file gdbtypes.c.
References f(), type::field(), type::fields(), name, type::num_fields(), type::set_fields(), and type::set_num_fields().
Referenced by append_composite_type_field_aligned(), and make_gdb_type().
|
extern |
Definition at line 5699 of file gdbtypes.c.
References type::code(), type::field(), type::length(), name, type::num_fields(), field::set_bitsize(), field::set_loc_bitpos(), field::set_name(), type::set_num_fields(), and field::set_type().
Referenced by amd_dbgapi_register_type_to_gdb_type(), append_flags_type_flag(), and make_gdb_type().
|
extern |
Definition at line 5723 of file gdbtypes.c.
References append_flags_type_field(), type::arch(), builtin_type::builtin_bool, and name.
Referenced by amd_dbgapi_register_type_to_gdb_type(), BP_MANIPULATION(), rl78_psw_type(), sparc64_ccr_type(), sparc64_fprs_type(), sparc64_fsr_type(), sparc64_pstate_type(), sparc_fsr_type(), and sparc_psr_type().
|
extern |
Definition at line 5734 of file gdbtypes.c.
References code, INIT_CPLUS_SPECIFIC, name, type_allocator::new_type(), and type::set_name().
Referenced by aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), aarch64_vnv_type(), arm_neon_double_type(), arm_neon_quad_type(), csky_vector_type(), fbsd_get_siginfo_type(), i386_bnd_type(), i386_mmx_type(), i386_ymm_type(), i386_zmm_type(), linux_get_siginfo_type_with_fields(), make_gdb_type(), nbsd_get_siginfo_type(), riscv_fpreg_d_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), selftests::unpack::unpack_field_as_long_tests(), windows_get_siginfo_type(), and windows_get_tlb_type().
Definition at line 5681 of file gdbtypes.c.
References type::alloc_fields(), bit, name, type_allocator::new_type(), type::set_is_unsigned(), type::set_num_fields(), and type.
Referenced by amd_dbgapi_register_type_to_gdb_type(), BP_MANIPULATION(), make_gdb_type(), rl78_psw_type(), sparc64_ccr_type(), sparc64_fprs_type(), sparc64_fsr_type(), sparc64_pstate_type(), sparc_fsr_type(), and sparc_psr_type().
|
extern |
Return the type table for the specified architecture.
Definition at line 6168 of file gdbtypes.c.
References create_gdbtypes_data(), gdbtypes_data, registry< T >::get(), and registry< T >::set().
Referenced by aarch64_pseudo_register_type(), aarch64_push_dummy_call(), aarch64_stap_parse_special_token(), aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), aarch64_vnv_type(), ada_atr_enum_rep(), ada_get_tcb_types_info(), ada_pos_atr(), ada_tasks_inferior_data_sniffer(), ada_unop_atr(), ada_value_print_num(), dwarf2_cu::addr_type(), address_from_register(), alpha_push_dummy_call(), alpha_register_type(), alpha_store_return_value(), amd64_dtrace_parse_probe_argument(), amd64_get_longjmp_target(), amd64_x32_pseudo_register_type(), amd_dbgapi_register_type_to_gdb_type(), archpy_integer_type(), arm_neon_double_type(), arm_neon_quad_type(), arm_register_type(), arm_stap_parse_special_token(), expr::assign_component(), avr_register_type(), basic_type(), bfin_register_type(), binop_promote(), BP_MANIPULATION(), bpf_register_type(), bsd_uthread_read_memory_address(), build_d_types(), build_fortran_types(), build_go_types(), build_std_type_info_type(), builtin_type(), c_language_arch_info(), call_function_by_hand_dummy(), procfs_target::can_use_hw_breakpoint(), compile_cplus_convert_func(), compile_object_load(), compile_probe_arg(), convert_func(), convert_symbol_bmsym(), convert_symbol_bmsym(), convert_type_basic(), create_gdbtypes_data(), cris_register_type(), crisv32_register_type(), csky_register_type(), csky_vector_type(), darwin_current_sos(), darwin_load_image_infos(), darwin_read_exec_load_addr_from_dyld(), darwin_solib_read_all_image_info_addr(), dbx_lookup_type(), decode_base_type(), decode_type(), default_auxv_parse(), define_symbol(), die_type(), do_examine(), expr::internalvar_operation::do_generate_ax(), expr::unop_sizeof_operation::do_generate_ax(), expr::assign_modify_operation::do_generate_ax(), expr::logical_and_operation::do_generate_ax(), expr::logical_or_operation::do_generate_ax(), dtrace_process_dof_probe(), dwarf2_init_complex_target_type(), dwarf2_init_integer_type(), elf_gnu_ifunc_resolve_addr(), elf_gnu_ifunc_resolve_by_got(), elf_gnu_ifunc_resolver_return_stop(), elf_locate_base(), elf_rel_plt_read(), error_type(), eval_op_alignof(), eval_op_objc_msgcall(), eval_op_objc_selector(), eval_op_sub(), expr::objc_msgcall_operation::evaluate(), expr::var_value_operation::evaluate_for_sizeof(), expr::var_msym_value_operation::evaluate_for_sizeof(), expr::subscript_operation::evaluate_for_sizeof(), expr::unop_ind_base_operation::evaluate_for_sizeof(), evaluate_subexp_for_sizeof_base(), fbsd_get_thread_local_address(), dwarf_expr_context::fetch_result(), finalize_symtab(), find_command(), find_minsym_type_and_address(), float_type_from_length(), frv_register_type(), ft32_register_type(), gdb_bfd_scan_elf_dyntag(), gdbscm_arch_builtin_type(), gen_expr_binop_rest(), gen_integral_promotions(), generic_auxv_parse(), dwarf_expr_context::get_base_type(), ravenscar_thread_target::get_fpu_state(), get_gdb_vtable_type(), get_running_thread_id(), get_signed_type(), get_unsigned_type(), gnuv3_baseclass_offset(), gnuv3_decode_method_ptr(), gnuv3_make_method_ptr(), gnuv3_method_ptr_size(), h8300_register_type(), handle_stap_probe(), hppa32_convert_from_func_ptr_addr(), hppa32_register_type(), hppa64_register_type(), hppa_skip_trampoline_code(), i386_bnd_type(), i386_mmx_type(), i386_mpx_get_bt_entry(), i386_mpx_info_bounds(), i386_mpx_set_bounds(), i386_pseudo_register_read_into_value(), i386_pseudo_register_type(), i386_pseudo_register_write(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), i386_ymm_type(), i386_zmm_type(), ia64_register_type(), iq2000_register_type(), call_site_target::iterate_over_addresses(), jit_read_code_entry(), jit_read_descriptor(), ada_language::language_arch_info(), cplus_language::language_arch_info(), pascal_language::language_arch_info(), rust_language::language_arch_info(), ld_so_xfer_auxv(), lm32_register_type(), lm_info_read(), locexpr_get_frame_base(), loclist_get_frame_base(), lookup_array_range_type(), lookup_child_selector(), lookup_objc_class(), m32r_register_type(), m68hc11_register_type(), m68k_register_type(), make_gdb_type(), mep_register_type(), mi_cmd_data_read_memory(), microblaze_register_type(), mips_print_fp_register(), mips_pseudo_register_type(), mips_register_type(), mn10300_register_type(), moxie_register_type(), msp430_register_type(), msp430x_register_type(), nbsd_get_siginfo_type(), nios2_register_type(), open_symbol_file_object(), parse_symbol(), ppscm_print_string_repr(), print_scalar_formatted(), print_string_repr(), printf_floating(), proc_watchpoint_address(), processInt(), procfs_address_to_host_pointer(), read_array_type(), read_range_type(), read_subroutine_type(), read_tag_string_type(), language_defn::read_var_value(), selftests::register_to_value_test(), resolve_msgsend(), resolve_msgsend_stret(), resolve_msgsend_super(), resolve_msgsend_super_stret(), riscv_arg_location(), riscv_fpreg_d_type(), riscv_pseudo_register_type(), riscv_register_type(), rs6000_aix_extract_ld_info(), rs6000_builtin_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), rs6000_pseudo_register_type(), s12z_register_type(), s390_pseudo_register_type(), safe_parse_type(), set_next_address(), sh_default_register_type(), sh_sh2a_register_type(), sh_sh3e_register_type(), sh_sh4_register_type(), shell_internal_fn(), solib_svr4_r_brk(), solib_svr4_r_ldsomap(), solib_svr4_r_map(), solib_svr4_r_next(), sparc32_pseudo_register_type(), sparc32_register_type(), sparc64_pseudo_register_type(), sparc64_register_type(), stap_get_expected_argument_type(), stap_modify_semaphore(), stap_parse_register_operand(), stap_parse_single_operand(), svr4_auxv_parse(), tdesc_register_type(), tic6x_register_type(), tilegx_register_type(), unop_promote(), selftests::unpack::unpack_field_as_long_tests(), upgrade_type(), v850_register_type(), val_print_type_code_flags(), value_arg_coerce(), value_nsstring(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), varobj_value_get_print_value(), vax_register_type(), vlscm_convert_bytevector(), vlscm_convert_number(), xstormy16_register_type(), xtensa_push_dummy_call(), xtensa_register_type(), and z80_register_type().
|
extern |
Return the type table for the specified objfile.
Definition at line 6180 of file gdbtypes.c.
References objfile::arch(), and builtin_type().
|
extern |
Definition at line 3439 of file gdbtypes.c.
References type::code(), and type::target_type().
Referenced by complex_binop(), and init_complex_type().
|
extern |
Definition at line 3642 of file gdbtypes.c.
References check_typedef(), type::code(), and type::target_type().
Referenced by print_value_flags().
|
extern |
Definition at line 3278 of file gdbtypes.c.
References check_stub_method(), f(), TYPE_FN_FIELD_STUB, TYPE_FN_FIELDLIST1, and TYPE_FN_FIELDLIST_LENGTH.
Referenced by find_method_list(), gnuv3_find_method_in(), search_struct_method(), and value_struct_elt_for_reference().
Definition at line 2966 of file gdbtypes.c.
References type::arch(), check_typedef(), type::code(), currently_reading_symtab, type::instance_flags(), type::is_stub(), type::length(), lookup_symbol(), lookup_transparent_type(), make_qualified_type(), name, type::name(), type_allocator::new_type(), type::objfile_owner(), opaque_type_resolution, type::set_length(), type::set_target_is_stub(), type::set_target_type(), STRUCT_DOMAIN, stub_noname_complaint(), block_symbol::symbol, type::target_is_stub(), type::target_type(), type, symbol::type(), TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL, TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE, TYPE_IS_OPAQUE, and update_static_array_size().
Referenced by aapcs_is_vfp_call_or_return_candidate_1(), aarch64_push_dummy_call(), aarch64_return_in_memory(), aarch64_type_align(), ada_array_bound(), ada_array_bound_from_type(), ada_array_length(), ada_check_typedef(), ada_get_field_index(), ada_is_redundant_index_type_desc(), ada_tasks_inferior_data_sniffer(), ada_val_print_ref(), ada_value_ptr_subscript(), expr::add_struct_fields(), add_symbol_overload_list_adl_namespace(), adjust_value_for_child_access(), value::allocate_lazy(), alpha_push_dummy_call(), amd64_classify_aggregate(), amd64_classify_aggregate_field(), amd64_has_unaligned_fields(), riscv_struct_info::analyse_inner(), arc_type_align(), arm_push_dummy_call(), arm_return_in_memory(), arm_type_align(), arm_vfp_abi_for_function(), arm_vfp_cprc_sub_candidate(), expr::ada_aggregate_operation::assign_aggregate(), expr::assign_component(), avr_push_dummy_call(), bfin_push_dummy_call(), binop_promote(), binop_types_user_defined_p(), BP_MANIPULATION(), BP_MANIPULATION(), bpfinishpy_init(), c_get_string(), c_is_string_type_p(), c_print_type_1(), c_print_typedef(), c_textual_element_type(), c_type_print_base_1(), c_value_of_variable(), c_value_print(), c_value_print_array(), c_value_print_inner(), c_value_print_ptr(), c_value_print_struct(), calculate_limited_array_length(), call_function_by_hand_dummy(), can_dereference(), can_use_hardware_watchpoint(), ppc_linux_nat_target::check_condition(), check_field(), check_parameter_typelist(), check_typedef(), check_types_equal(), cimag_internal_fn(), classify_inner_name(), classify_inner_name(), classify_type(), coerce_array(), coerce_pieced_ref(), coerce_ref(), coerce_ref_if_computed(), collection_list::collect_symbol(), common_val_print(), compile_cplus_convert_typedef(), compile_object_load(), expr::structop_base_operation::complete(), complex_binop(), compute_struct_member(), compute_vtable_size(), constrained_packed_array_type(), value::contents_eq(), expr::convert_char_literal(), compile_c_instance::convert_type(), cp_find_class_member(), cp_find_type_baseclass_by_name(), cp_lookup_bare_symbol(), cp_lookup_nested_symbol(), cp_lookup_nested_symbol_1(), cp_lookup_rtti_type(), cp_print_static_field(), cp_print_value(), cp_print_value_fields(), creal_internal_fn(), create_range_type(), create_value(), csky_push_dummy_call(), d_lookup_nested_symbol(), d_lookup_symbol(), d_value_print_inner(), decode_constrained_packed_array_type(), fortran_array_printer_impl::dimension_contents_eq(), distance_to_ancestor(), python_xmethod_worker::do_get_result_type(), do_ppc_sysv_return_value(), dwarf2_evaluate_property(), dynamic_array_type(), encode_actions_1(), entry_data_value_coerce_ref(), eval_multi_subscript(), eval_op_f_allocated(), eval_op_f_rank(), eval_op_ind(), eval_op_m2_high(), eval_op_m2_subscript(), eval_op_member(), eval_op_objc_msgcall(), eval_op_repeat(), eval_op_subscript(), expr::ada_concat_operation::evaluate(), expr::c_string_operation::evaluate(), expr::opencl_structop_operation::evaluate(), expr::opencl_logical_binop_operation::evaluate(), expr::opencl_ternop_cond_operation::evaluate(), expr::unop_ind_base_operation::evaluate(), expr::array_operation::evaluate(), expr::fortran_undetermined::evaluate(), expr::fortran_bound_2arg::evaluate(), expr::fortran_bound_3arg::evaluate(), expr::subscript_operation::evaluate_for_sizeof(), expr::unop_ind_base_operation::evaluate_for_sizeof(), expr::structop_member_base::evaluate_funcall(), expr::array_operation::evaluate_struct_tuple(), evaluate_subexp_for_address_base(), evaluate_subexp_for_sizeof_base(), expr::var_value_operation::evaluate_with_coercion(), f77_get_dynamic_length_of_aggregate(), f_language::f_type_print_base(), fake_method::fake_method(), value::fetch_lazy_memory(), value::fetch_lazy_register(), dwarf_expr_context::fetch_result(), find_array_element_type(), find_function_addr(), find_gnu_ifunc_target_type(), find_method(), find_method_list(), find_methods(), find_overload_match(), find_parallel_type_by_descriptive_type(), find_size_for_pointer_math(), find_symbol_in_baseclass(), finish_command(), fixed_point_binop(), type::fixed_point_type_base_type(), fortran_adjust_dynamic_array_base_address_hack(), fortran_array_offset_calculator::fortran_array_offset_calculator(), fortran_array_shape(), fortran_array_size(), fortran_associated(), fortran_bounds_all_dims(), fortran_bounds_for_dimension(), fortran_require_array(), fp_register_arg_p(), frv_push_dummy_call(), gccgo_string_p(), gdbpy_create_lazy_string_object(), gdbscm_type_sizeof(), gdbscm_type_strip_typedefs(), gdbscm_value_call(), gdbscm_value_dynamic_type(), gdbscm_value_referenced_value(), gdbscm_value_subscript(), gdbscm_value_to_bool(), gdbscm_value_to_bytevector(), gdbscm_value_to_integer(), gdbscm_value_to_lazy_string(), gdbscm_value_to_real(), gen_bitfield_ref(), gen_cast(), gen_deref(), gen_expr_binop_rest(), gen_int_literal(), gen_struct_ref(), gen_struct_ref_recursive(), gen_trace_static_fields(), gen_traced_pop(), gen_usual_arithmetic(), gen_var_ref(), expr::operation::generate_ax(), generate_register_struct(), generate_vla_size(), generic_val_print_array(), generic_val_print_ref(), generic_value_print(), generic_value_print_bool(), generic_value_print_char(), generic_value_print_memberptr(), generic_value_print_ptr(), get_baseclass_offset(), get_discrete_high_bound(), get_discrete_low_bound(), get_internalvar_integer(), get_out_value_type(), get_pointer_type_max(), get_regs_type(), get_return_value(), get_signed_type_minmax(), get_symbol_field_type(), get_target_type(), get_type(), get_unsigned_type_max(), get_value_at(), get_vptr_fieldno(), gnuv2_baseclass_offset(), gnuv2_value_rtti_type(), gnuv2_virtual_fn_field(), gnuv3_dynamic_class(), gnuv3_get_typeid(), gnuv3_get_vtable(), gnuv3_method_ptr_to_value(), gnuv3_pass_by_reference(), gnuv3_print_vtable(), gnuv3_rtti_type(), gnuv3_virtual_fn_field(), go_classify_struct_type(), hppa32_push_dummy_call(), i386_16_byte_align_p(), i386_darwin_arg_type_alignment(), i386_reg_struct_return_p(), i386_return_value(), i386_type_align(), i386_windows_push_dummy_call(), ia64_push_dummy_call(), indirect_pieced_value(), info_scope_command(), inspect_type(), internal_type_vptr_basetype(), internal_type_vptr_fieldno(), python_xmethod_worker::invoke(), is_copy_or_move_constructor_type(), is_dynamic_type_internal(), is_fixed_point_type(), is_float_or_hfa_type_recurse(), is_floating_type(), is_floating_value(), is_integral_or_integral_reference(), is_integral_type(), is_scalar_type(), is_scalar_type_recursive(), f_language::is_string_type_p(), go_language::is_string_type_p(), unknown_language::is_string_type_p(), m2_language::is_string_type_p(), rust_language::is_string_type_p(), is_unique_ancestor_worker(), list_arg_or_local(), lookup_function_type_with_arguments(), lookup_struct_elt(), lookup_symbol_aux(), lookup_typename(), loongarch_push_dummy_call(), lsscm_elt_type(), lsscm_safe_lazy_string_to_value(), lval_func_check_synthetic_pointer(), lval_func_read(), lval_func_write(), m2_get_discrete_bounds(), m2_print_array_contents(), m2_print_long_set(), m2_print_type(), m2_print_unbounded_array(), m68k_reg_struct_return_p(), m68k_svr4_return_value(), mi_simple_type_p(), mips_eabi_push_dummy_call(), mips_eabi_return_value(), mips_n32n64_fp_arg_chunk_p(), mips_n32n64_push_dummy_call(), mips_n32n64_return_value(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), mn10300_type_align(), mn10300_use_struct_convention(), msp430_push_dummy_call(), nds32_check_calling_use_fpr(), nios2_push_dummy_call(), nios2_type_align(), opencl_component_ref(), opencl_logical_not(), opencl_relop(), opencl_value_cast(), or1k_push_dummy_call(), pack_long(), pack_unsigned_long(), pascal_object_print_static_field(), pascal_object_print_value(), pascal_object_print_value_fields(), pass_in_v_vfp_candidate(), ppc64_aggregate_candidate(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_return_value(), ppc_sysv_abi_push_dummy_call(), ppc_sysv_use_opencl_abi(), value::primitive_field(), rust_language::print_enum(), print_formatted(), print_one_vtable(), print_return_value(), print_symbol(), go_language::print_type(), opencl_language::print_type(), pascal_language::print_type(), print_type_scalar(), f_language::print_typedef(), m2_language::print_typedef(), pascal_language::print_typedef(), rust_language::print_typedef(), print_unpacked_pointer(), print_variable_at_address(), pascal_language::printstr(), ptrmath_type_p(), py_print_type(), rank_one_type(), read_enumeration_type(), read_frame_register_value(), read_one_struct_field(), read_subrange_type(), read_tag_ptr_to_member_type(), language_defn::read_var_value(), require_rvalue(), resolve_dynamic_array_or_string(), resolve_dynamic_array_or_string_1(), resolve_dynamic_struct(), resolve_dynamic_type(), resolve_dynamic_type_internal(), resolve_dynamic_union(), riscv_push_dummy_call(), riscv_return_value(), riscv_type_align(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rust_get_trait_object_pointer(), rust_internal_print_type(), rust_slice_to_array(), rust_subscript(), rust_val_print_slice(), rx_push_dummy_call(), s390_effective_inner_type(), s390_handle_arg(), s390_push_dummy_call(), s390_return_value(), s390_value_from_register(), scalar_binop(), struct_field_searcher::search(), search_struct_method(), set_internalvar(), set_type_vptr_basetype(), set_type_vptr_fieldno(), setting_cmd(), sh_is_renesas_calling_convention(), shell_internal_fn(), finish_command_fsm::should_stop(), slot_alignment_is_next_even(), sparc32_struct_return_from_sym(), sparc64_16_byte_align_p(), sparc64_extract_floating_fields(), sparc64_store_floating_fields(), sparc_arg_by_memory_p(), sparc_structure_return_p(), store_regs(), stpy_convert_to_value(), stpy_lazy_string_elt_type(), tic6x_arg_type_alignment(), tic6x_push_dummy_call(), tic6x_return_value(), tlb_value_read(), type_align(), type_name_or_error(), pascal_language::type_print_base(), type_to_type_object(), typecmp(), types_equal(), typy_fields_items(), typy_get_composite(), typy_get_sizeof(), typy_is_array_like(), typy_is_string_like(), typy_strip_typedefs(), typy_template_argument(), tyscm_get_composite(), unop_promote(), unop_user_defined_p(), unpack_bits_as_long(), unpack_long(), print_offset_data::update(), update_static_array_size(), update_watchpoint(), v850_eight_byte_align_p(), val_print_packed_array_elements(), val_print_scalar_type_p(), rust_language::val_print_struct(), valprint_check_validity(), valpy_binop_throw(), valpy_call(), valpy_float(), valpy_get_dynamic_type(), valpy_getitem(), valpy_lazy_string(), valpy_long(), valpy_nonzero(), valpy_referenced_value(), valpy_to_array(), value_actual_type(), value_addr(), value_arg_coerce(), value_args_as_target_float(), value_as_mpz(), value_assign(), value_assign_to_component(), value_binop(), value_cast(), value_cast_pointers(), value_cast_structs(), value_coerce_array(), value_coerce_to_target(), value_complement(), value_concat(), value_dynamic_cast(), value_equal(), value_equal_contents(), value_find_oload_method_list(), value_from_contents_and_address(), value_from_mpz(), value_from_pointer(), value_from_register(), value_has_field(), value_imaginary_part(), value_ind(), value_less(), value_logical_not(), value_must_coerce_to_target(), value_neg(), value_of_dwarf_reg_entry(), value_one(), value_pos(), rust_language::value_print(), value_print_array_elements(), f_language::value_print_inner(), go_language::value_print_inner(), m2_language::value_print_inner(), pascal_language::value_print_inner(), rust_language::value_print_inner(), value_print_scalar_formatted(), value_ptradd(), value_ptrdiff(), value_real_part(), value_ref(), value_reinterpret_cast(), value_rtti_indirect_type(), value_rtti_type(), value_slice(), value_struct_element_index(), value_struct_elt(), value_struct_elt_bitpos(), value_struct_elt_for_reference(), expr::fortran_undetermined::value_subarray(), value_subscript(), value_subscripted_rvalue(), value_to_array(), value_to_gdb_mpq(), value_vector_widen(), value_x_binop(), value_x_unop(), varobj_get_value_type(), vector_binop(), vector_relop(), vlscm_binop_gdbthrow(), vlscm_convert_bytevector(), fortran_array_walker< Impl >::walk_1(), language_defn::watch_location_expression(), ada_language::watch_location_expression(), rust_language::watch_location_expression(), whatis_exp(), xtensa_push_dummy_call(), and yyparse().
|
extern |
Definition at line 3747 of file gdbtypes.c.
References type::code().
Referenced by call_function_by_hand_dummy(), and get_call_return_value().
Definition at line 3758 of file gdbtypes.c.
References type::name(), and TYPE_MAIN_TYPE.
Referenced by distance_to_ancestor(), dynamic_cast_check_1(), dynamic_cast_check_2(), is_copy_or_move_constructor_type(), is_unique_ancestor_worker(), and value_dynamic_cast().
|
extern |
Definition at line 3976 of file gdbtypes.c.
References compare_ranks(), and INVALID_CONVERSION.
Referenced by find_oload_champ(), and find_overload_match().
Definition at line 3948 of file gdbtypes.c.
References rank::rank, and rank::subrank.
Referenced by classify_oload_match(), compare_badness(), and compare_parameters().
Definition at line 5656 of file gdbtypes.c.
References type::arch_owner(), copy_dynamic_prop_list(), main_type::dyn_prop_list, gdbarch_obstack(), type::instance_flags(), type::is_objfile_owned(), type::length(), type::main_type, type_allocator::new_type(), new_type(), objfile::objfile_obstack, type::objfile_owner(), type::set_instance_flags(), type::set_length(), and TYPE_MAIN_TYPE.
Referenced by ada_to_fixed_type_1(), add_array_cv_type(), read_typedef(), resolve_dynamic_array_or_string(), resolve_dynamic_array_or_string_1(), resolve_dynamic_struct(), resolve_dynamic_type_internal(), resolve_dynamic_union(), and rewrite_array_type().
Definition at line 5502 of file gdbtypes.c.
References type::alloc_fields(), type::arch(), type::arch_owner(), field::bitsize(), type::bounds(), type::code(), copy_dynamic_prop_list(), copy_type_recursive(), main_type::dyn_prop_list, type::field(), FIELD_LOC_KIND_BITPOS, FIELD_LOC_KIND_DWARF_BLOCK, FIELD_LOC_KIND_ENUMVAL, FIELD_LOC_KIND_PHYSADDR, FIELD_LOC_KIND_PHYSNAME, type::fixed_point_info(), gdbarch_obstack(), INIT_CPLUS_SPECIFIC, INIT_FIXED_POINT_SPECIFIC, INIT_FUNC_SPECIFIC, INIT_GNAT_SPECIFIC, type::instance_flags(), field::is_artificial(), type::is_objfile_owned(), type::length(), field::loc_bitpos(), field::loc_dwarf_block(), field::loc_enumval(), field::loc_kind(), field::loc_physaddr(), field::loc_physname(), type::main_type, field::name(), type::name(), type_allocator::new_type(), new_type(), nullptr, type::num_fields(), fixed_point_type_info::scaling_factor, field::set_bitsize(), type::set_bounds(), type::set_instance_flags(), field::set_is_artificial(), type::set_length(), field::set_loc_bitpos(), field::set_loc_dwarf_block(), field::set_loc_enumval(), field::set_loc_physaddr(), field::set_loc_physname(), field::set_name(), type::set_name(), type::set_owner(), type::set_target_type(), field::set_type(), set_type_self_type(), type::target_type(), field::type(), type, TYPE_ALLOC, TYPE_CALLING_CONVENTION, TYPE_FLOATFORMAT, TYPE_MAIN_TYPE, TYPE_NO_RETURN, type_pair::type_pair(), TYPE_SELF_TYPE, TYPE_SPECIFIC_CPLUS_STUFF, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FIXED_POINT, TYPE_SPECIFIC_FLOATFORMAT, TYPE_SPECIFIC_FUNC, TYPE_SPECIFIC_GNAT_STUFF, TYPE_SPECIFIC_INT, TYPE_SPECIFIC_NONE, TYPE_SPECIFIC_SELF_TYPE, and TYPE_TAIL_CALL_LIST.
Referenced by copy_type_recursive(), create_copied_type_recursive(), typy_deleter::operator()(), value::preserve(), preserve_one_internalvar(), preserve_one_varobj(), and tyscm_copy_type_recursive().
|
extern |
Definition at line 1388 of file gdbtypes.c.
References create_array_type_with_stride().
Referenced by ada_type_of_array(), constrained_packed_array_type(), create_string_type(), decode_type(), define_symbol(), empty_array(), fortran_array_shape(), fortran_bounds_all_dims(), lookup_array_range_type(), read_array_type(), to_fixed_array_type(), upgrade_type(), value_cast(), value_slice(), expr::fortran_undetermined::value_subarray(), and yyparse().
|
extern |
Definition at line 1339 of file gdbtypes.c.
References type::add_dyn_prop(), type::alloc_fields(), type::bit_stride(), dynamic_prop::const_val(), DYN_PROP_BYTE_STRIDE, type::field(), dynamic_prop::is_constant(), type::length(), type_allocator::new_type(), field::set_bitsize(), type::set_code(), type::set_index_type(), type::set_length(), type::set_target_is_stub(), type::set_target_type(), and update_static_array_size().
Referenced by ada_value_slice(), ada_value_slice_from_ptr(), create_array_type(), read_array_type(), and resolve_dynamic_array_or_string_1().
|
extern |
Definition at line 5464 of file gdbtypes.c.
References type_pair_eq(), type_pair_hash(), xcalloc(), and xfree().
Referenced by create_copied_type_recursive(), tyscm_deleter::operator()(), typy_deleter::operator()(), and preserve_values().
|
extern |
Definition at line 936 of file gdbtypes.c.
References range_bounds::bias, type::bounds(), check_typedef(), type::code(), dynamic_prop::const_val(), type::endianity_is_not_default(), range_bounds::high, type::index_type(), dynamic_prop::is_constant(), type::is_stub(), type::is_unsigned(), type::length(), range_bounds::low, type_allocator::new_type(), type::set_bounds(), type::set_code(), dynamic_prop::set_const_val(), type::set_endianity_is_not_default(), type::set_is_unsigned(), type::set_length(), type::set_target_is_stub(), type::set_target_type(), range_bounds::stride, and TYPE_ZALLOC.
Referenced by create_range_type_with_stride(), create_static_range_type(), read_subrange_type(), and read_tag_string_type().
|
extern |
Definition at line 998 of file gdbtypes.c.
References type::bounds(), create_range_type(), range_bounds::flag_is_byte_stride, type::index_type(), and range_bounds::stride.
Referenced by read_subrange_type(), resolve_dynamic_range(), and expr::fortran_undetermined::value_subarray().
|
extern |
Definition at line 1439 of file gdbtypes.c.
References type::alloc_fields(), type::field(), get_discrete_bounds(), type::is_stub(), type_allocator::new_type(), type::set_code(), type::set_is_unsigned(), type::set_length(), and field::set_type().
Referenced by read_set_type(), and read_type().
|
extern |
Definition at line 1019 of file gdbtypes.c.
References create_range_type(), type::index_type(), and dynamic_prop::set_const_val().
Referenced by ada_type_of_array(), ada_value_slice(), ada_value_slice_from_ptr(), decode_type(), define_symbol(), empty_array(), fortran_array_shape(), fortran_bounds_all_dims(), lookup_array_range_type(), quirk_ada_thick_pointer(), read_array_type(), read_array_type(), read_range_type(), read_tag_string_type(), to_fixed_range_type(), upgrade_type(), value_cast(), value_slice(), and yyparse().
|
extern |
Definition at line 1415 of file gdbtypes.c.
References create_array_type(), and type::set_code().
Referenced by read_tag_string_type().
DEF_ENUM_FLAGS_TYPE | ( | enum | type_instance_flag_value, |
type_instance_flags | ) |
|
extern |
Definition at line 1247 of file gdbtypes.c.
References type::code(), type::field(), field::loc_enumval(), type::num_fields(), and type::target_type().
Referenced by ada_print_scalar(), ada_val_print_enum(), ada_value_slice(), ada_value_slice_from_ptr(), get_discrete_high_bound(), get_discrete_low_bound(), and pos_atr().
const struct floatformat * floatformat_from_type | ( | const struct type * | type | ) |
Definition at line 3345 of file gdbtypes.c.
References type::code(), and TYPE_FLOATFORMAT.
Referenced by mpfr_float_ops::from_target(), host_float_ops< T >::from_target(), mpfr_float_ops::gdb_mpfr::gdb_mpfr(), get_target_float_ops_kind(), target_float_format_length(), target_float_is_valid(), target_float_is_zero(), target_float_same_format_p(), target_float_to_string(), host_float_ops< T >::to_string(), mpfr_float_ops::to_string(), mpfr_float_ops::to_target(), and host_float_ops< T >::to_target().
|
extern |
Definition at line 695 of file symtab.c.
References f(), field_name(), fn_field::is_const, fn_field::is_constructor, is_constructor_name(), is_destructor_name(), is_operator_name(), fn_field::is_volatile, type::name(), fn_field::physname, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_NAME, and xmalloc().
Referenced by c_type_print_base_struct_union(), and check_stub_method().
|
extern |
Definition at line 1211 of file gdbtypes.c.
References get_discrete_bounds(), and type::index_type().
Referenced by ada_promote_array_of_integrals(), ada_same_array_size_p(), ada_varobj_get_array_number_of_children(), c_type_print_varspec_suffix(), c_value_print_array(), compile_cplus_convert_array(), convert_array(), expr::opencl_ternop_cond_operation::evaluate(), gdbpy_create_lazy_string_object(), gdbscm_value_to_lazy_string(), generic_val_print_array(), rust_language::is_string_type_p(), lookup_opencl_vector_type(), lval_func_read(), lval_func_write(), opencl_component_ref(), opencl_logical_not(), ppc64_aggregate_candidate(), print_optional_low_bound(), rust_internal_print_type(), rust_subscript(), update_static_array_size(), valpy_lazy_string(), value_complement(), value_concat(), value_neg(), value_one(), value_print_array_elements(), pascal_language::value_print_inner(), rust_language::value_print_inner(), value_vector_widen(), vector_binop(), and vector_relop().
|
extern |
Definition at line 1192 of file gdbtypes.c.
References get_discrete_high_bound(), and get_discrete_low_bound().
Referenced by ada_value_ptr_subscript(), c_get_string(), constrained_packed_array_type(), create_set_type(), fortran_array_printer_impl::dimension_contents_eq(), expr::c_string_operation::evaluate(), expr::array_operation::evaluate(), fortran_adjust_dynamic_array_base_address_hack(), fortran_array_offset_calculator::fortran_array_offset_calculator(), fortran_array_shape(), fortran_array_size(), fortran_associated(), get_array_bounds(), is_scalar_type_recursive(), m2_get_discrete_bounds(), m2_print_long_set(), recursively_update_array_bitsize(), update_static_array_size(), val_print_packed_array_elements(), value_bit_index(), value_cast(), m2_language::value_print_inner(), pascal_language::value_print_inner(), value_slice(), value_subscript_packed(), and fortran_array_walker< Impl >::walk_1().
|
extern |
Definition at line 1116 of file gdbtypes.c.
References type::bounds(), check_typedef(), type::code(), dynamic_prop::const_val(), discrete_position(), type::field(), range_bounds::high, dynamic_prop::is_constant(), type::is_unsigned(), type::length(), field::loc_enumval(), type::num_fields(), and type::target_type().
Referenced by get_discrete_bounds(), and value_subscript().
|
extern |
Definition at line 1049 of file gdbtypes.c.
References type::bounds(), check_typedef(), type::code(), dynamic_prop::const_val(), discrete_position(), type::field(), dynamic_prop::is_constant(), type::is_unsigned(), type::length(), field::loc_enumval(), range_bounds::low, type::num_fields(), and type::target_type().
Referenced by get_discrete_bounds(), and value_subscript().
|
extern |
Definition at line 1895 of file gdbtypes.c.
References check_typedef(), type::code(), and type::length().
Referenced by vlscm_convert_typed_number().
|
extern |
Definition at line 1879 of file gdbtypes.c.
References check_typedef(), type::code(), type::is_unsigned(), and type::length().
Referenced by vlscm_convert_typed_number(), and vlscm_integer_fits_p().
This returns the target type (or NULL) of TYPE, also skipping past typedefs.
Definition at line 293 of file gdbtypes.c.
References check_typedef(), type::target_type(), and type.
Referenced by adjust_value_for_child_access(), c_describe_child(), c_number_of_children(), and varobj_get_value_type().
|
extern |
Definition at line 1862 of file gdbtypes.c.
References check_typedef(), type::code(), type::is_unsigned(), and type::length().
Referenced by vlscm_convert_typed_number(), and vlscm_integer_fits_p().
Definition at line 1977 of file gdbtypes.c.
References check_typedef(), get_vptr_fieldno(), type::objfile_owner(), set_type_vptr_basetype(), set_type_vptr_fieldno(), TYPE_BASECLASS, TYPE_N_BASECLASSES, TYPE_VPTR_BASETYPE, and TYPE_VPTR_FIELDNO.
Referenced by c_type_print_base_struct_union(), cp_print_value_fields(), cplus_class_num_children(), cplus_describe_child(), get_vptr_fieldno(), gnuv2_value_rtti_type(), and gnuv2_virtual_fn_field().
|
extern |
Definition at line 3389 of file gdbtypes.c.
References bit, name, type_allocator::new_type(), type::set_is_unsigned(), TYPE_MAIN_TYPE, TYPE_SPECIFIC_FIELD, and TYPE_SPECIFIC_INT.
Referenced by build_d_types(), build_fortran_types(), build_go_types(), build_m2_types(), create_gdbtypes_data(), opencl_language::language_arch_info(), rust_language::language_arch_info(), read_base_type(), read_sun_builtin_type(), and rs6000_builtin_type().
|
extern |
Definition at line 3374 of file gdbtypes.c.
References bit, name, type_allocator::new_type(), and type::set_is_unsigned().
Referenced by build_d_types(), build_go_types(), build_m2_types(), create_gdbtypes_data(), ada_language::language_arch_info(), rust_language::language_arch_info(), read_base_type(), and rs6000_builtin_type().
Definition at line 3449 of file gdbtypes.c.
References can_create_complex_type(), type::length(), name, type::name(), type_allocator::new_type(), type::set_length(), type::set_name(), type::set_target_type(), set_type_code(), type::target_type(), TYPE_ALLOC, and TYPE_MAIN_TYPE.
Referenced by basic_type(), build_d_types(), build_fortran_types(), build_go_types(), complex_binop(), create_gdbtypes_data(), parse_number(), read_base_type(), read_range_type(), read_sun_floating_type(), rs6000_builtin_type(), and yyparse().
|
extern |
Definition at line 3431 of file gdbtypes.c.
References bit, name, and type_allocator::new_type().
Referenced by create_gdbtypes_data(), and read_base_type().
|
extern |
Definition at line 3502 of file gdbtypes.c.
References bit, name, type_allocator::new_type(), and type::set_is_unsigned().
Referenced by read_base_type().
|
extern |
Definition at line 3408 of file gdbtypes.c.
References type_allocator::arch(), bit, gdbarch_byte_order(), name, type_allocator::new_type(), TYPE_FLOATFORMAT, and verify_floatformat().
Referenced by arm_ext_type(), basic_type(), build_d_types(), build_fortran_types(), build_go_types(), build_m2_types(), create_gdbtypes_data(), csky_register_type(), dbx_init_float_type(), dwarf2_init_float_type(), ia64_ext_type(), ada_language::language_arch_info(), opencl_language::language_arch_info(), rust_language::language_arch_info(), m68881_ext_type(), make_gdb_type(), nds32_pseudo_register_type(), rs6000_builtin_type(), rs6000_builtin_type_vec128(), and sh_littlebyte_bigword_type().
|
extern |
Definition at line 3355 of file gdbtypes.c.
References bit, name, type_allocator::new_type(), type::set_is_unsigned(), TYPE_MAIN_TYPE, TYPE_SPECIFIC_FIELD, and TYPE_SPECIFIC_INT.
Referenced by dwarf_expr_context::address_type(), basic_type(), build_d_types(), build_fortran_types(), build_go_types(), build_m2_types(), create_gdbtypes_data(), dwarf2_init_integer_type(), fbsd_get_siginfo_type(), get_gdb_vtable_type(), ada_language::language_arch_info(), opencl_language::language_arch_info(), rust_language::language_arch_info(), linux_get_siginfo_type_with_fields(), linux_make_mappings_corefile_notes(), make_types(), read_range_type(), read_sun_builtin_type(), rl78_gdbarch_init(), rs6000_builtin_type(), windows_get_siginfo_type(), windows_get_tlb_type(), and xtensa_register_type().
|
extern |
Definition at line 3485 of file gdbtypes.c.
References bit, name, type_allocator::new_type(), type::set_is_unsigned(), type::set_target_type(), and type::target_type().
Referenced by avr_gdbarch_init(), basic_type(), create_gdbtypes_data(), ft32_gdbarch_init(), make_types(), read_base_type(), rl78_gdbarch_init(), windows_get_siginfo_type(), windows_get_tlb_type(), and z80_gdbarch_init().
Definition at line 1491 of file gdbtypes.c.
References lookup_array_range_type(), and make_vector_type().
Referenced by aarch64_vnv_type(), aarch64_za_tile_slice_type(), aarch64_za_tile_type(), amd_dbgapi_register_type_to_gdb_type(), arm_neon_double_type(), arm_neon_quad_type(), create_value(), csky_vector_type(), fbsd_get_siginfo_type(), i386_mmx_type(), i386_ymm_type(), i386_zmm_type(), linux_get_siginfo_type_with_fields(), make_gdb_type(), nbsd_get_siginfo_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), and sdata_make_value().
Definition at line 1507 of file gdbtypes.c.
References type::code(), TYPE_MAIN_TYPE, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FUNC, TYPE_SPECIFIC_NONE, and TYPE_SPECIFIC_SELF_TYPE.
Definition at line 1942 of file gdbtypes.c.
References check_typedef(), type::code(), TYPE_RAW_CPLUS_SPECIFIC, TYPE_SPECIFIC_CPLUS_STUFF, and TYPE_SPECIFIC_FIELD.
|
extern |
Definition at line 1915 of file gdbtypes.c.
References check_typedef(), type::code(), HAVE_CPLUS_STRUCT, and TYPE_RAW_CPLUS_SPECIFIC.
Definition at line 3818 of file gdbtypes.c.
References distance_to_ancestor().
Referenced by value_dynamic_cast().
|
extern |
Predicate if the type has dynamic values, which are not resolved yet. See the caveat in 'resolve_dynamic_type' to understand a scenario where an apparently-resolved type may still be considered "dynamic".
Definition at line 2140 of file gdbtypes.c.
References is_dynamic_type_internal().
Referenced by ada_is_redundant_range_encoding(), ada_value_primitive_packed_val(), ada_varobj_get_array_number_of_children(), constrained_packed_array_type(), eval_op_ind(), expr::fortran_undetermined::evaluate(), expr::fortran_structop_operation::evaluate(), expr::var_value_operation::evaluate_for_sizeof(), expr::unop_ind_base_operation::evaluate_for_sizeof(), generate_c_for_for_one_variable(), print_array_type(), language_defn::read_var_value(), type_is_full_subrange_of_target_type(), typy_get_dynamic(), value_subscripted_rvalue(), fortran_array_walker< Impl >::walk_1(), and whatis_exp().
|
extern |
Definition at line 5861 of file gdbtypes.c.
References check_typedef(), code, type::code(), and type::target_type().
Referenced by aarch64_push_dummy_call(), ada_print_type(), ada_value_print_inner(), arm_extract_return_value(), binop_promote(), fixed_point_binop(), generic_value_print(), is_integral_type(), is_scalar_type(), ppc64_sysv_abi_return_value_base(), print_scalar_formatted(), riscv_return_value(), scalar_binop(), unpack_long(), value_cast(), value_cast_to_fixed_point(), value_less(), value_neg(), and value_to_gdb_mpq().
|
extern |
Definition at line 3669 of file gdbtypes.c.
References check_typedef(), and type::code().
Referenced by is_floating_value(), promotion_type(), scalar_binop(), value_args_as_target_float(), value_cast(), value_cast_to_fixed_point(), value_neg(), value_one(), and value_to_gdb_mpq().
|
extern |
Definition at line 3654 of file gdbtypes.c.
References check_typedef(), type::code(), and is_fixed_point_type().
Referenced by ada_binop_exp(), ada_promote_array_of_integrals(), binop_promote(), coerce_for_assign(), eval_binop_assign_modify(), eval_op_binary(), gen_expr_binop_rest(), is_integral_or_integral_reference(), opencl_relop(), riscv_call_arg_struct(), scalar_binop(), unop_promote(), valpy_binop_throw(), valpy_long(), valpy_nonzero(), value_args_as_target_float(), value_binop(), value_cast_to_fixed_point(), value_complement(), value_equal(), value_less(), value_neg(), value_one(), value_pos(), value_to_gdb_mpq(), vlscm_binop_gdbthrow(), vlscm_convert_typed_number(), vlscm_convert_typed_value_from_scheme(), and yyparse().
|
extern |
Definition at line 3920 of file gdbtypes.c.
References type::code(), and TYPE_CALLING_CONVENTION.
Referenced by call_function_by_hand_dummy(), and get_return_value().
Definition at line 3827 of file gdbtypes.c.
References distance_to_ancestor().
Referenced by value_dynamic_cast().
|
extern |
Definition at line 3681 of file gdbtypes.c.
References check_typedef(), type::code(), and is_fixed_point_type().
Referenced by ada_value_assign(), ada_value_primitive_packed_val(), expr::unop_extract_operation::do_generate_ax(), value::from_component_bitsize(), is_scalar_type_recursive(), stap_parse_register_operand(), typy_is_scalar(), typy_is_signed(), and value_assign_to_component().
|
extern |
Definition at line 3706 of file gdbtypes.c.
References check_typedef(), type::code(), type::field(), get_discrete_bounds(), type::index_type(), is_scalar_type(), is_scalar_type_recursive(), type::num_fields(), type::target_type(), and field::type().
Referenced by can_use_hardware_watchpoint(), and is_scalar_type_recursive().
Definition at line 3887 of file gdbtypes.c.
References value::address, value::contents_for_printing(), value::embedded_offset(), is_unique_ancestor_worker(), and value::type().
Referenced by value_dynamic_cast().
|
extern |
Definition at line 1397 of file gdbtypes.c.
References type::arch(), builtin_type::builtin_int, builtin_type(), create_array_type(), create_static_range_type(), and type::index_type().
Referenced by allocate_repeat_value(), expr::repeat_operation::do_generate_ax(), dynamic_array_type(), eval_op_rust_array(), expr::ada_string_operation::evaluate(), type_stack::follow_types(), gdbscm_value_to_lazy_string(), get_gdb_vtable_type(), init_vector_type(), lookup_string_range_type(), lsscm_safe_lazy_string_to_value(), rust_parser::parse_array_type(), rust_slice_to_array(), sh_sh4_build_float_register_type(), stpy_convert_to_value(), typy_array_1(), tyscm_array_1(), valpy_lazy_string(), value_array(), value_concat(), value_cstring(), vlscm_convert_bytevector(), and windows_get_siginfo_type().
Definition at line 567 of file gdbtypes.c.
References make_function_type().
Referenced by create_gdbtypes_data(), decode_type(), define_symbol(), eval_op_objc_msgcall(), finalize_symtab(), find_function_in_inferior(), type_stack::follow_types(), make_types(), parse_procedure(), parse_symbol(), patch_block_stabs(), process_coff_symbol(), read_subroutine_type(), upgrade_type(), and yyparse().
|
extern |
Definition at line 577 of file gdbtypes.c.
References type::alloc_fields(), check_typedef(), code, type::field(), make_function_type(), type::set_has_varargs(), type::set_is_prototyped(), and field::set_type().
Referenced by type_stack::follow_types(), and rust_parser::parse_function_type().
Definition at line 518 of file gdbtypes.c.
References lookup_reference_type().
Referenced by type_stack::follow_types(), gdbscm_type_reference(), gdbscm_value_dynamic_type(), typy_lookup_type(), typy_reference(), valpy_get_dynamic_type(), valpy_getitem(), and yyparse().
Definition at line 869 of file gdbtypes.c.
References type_allocator::new_type(), and smash_to_memberptr_type().
Referenced by read_tag_ptr_to_member_type(), and value_struct_elt_for_reference().
Definition at line 881 of file gdbtypes.c.
References type_allocator::new_type(), and smash_to_methodptr_type().
Referenced by read_tag_ptr_to_member_type(), and value_struct_elt_for_reference().
Definition at line 430 of file gdbtypes.c.
References make_pointer_type().
Referenced by aarch64_push_dummy_call(), aarch64_stap_parse_special_token(), ada_get_tsd_from_tag(), ada_tag_value_at_base_address(), ada_type_of_array(), ada_val_print_ref(), ada_value_ptr_subscript(), ada_varobj_ind(), dwarf2_cu::addr_type(), address_of_variable(), alpha_push_dummy_call(), arm_stap_parse_special_token(), call_function_by_hand_dummy(), check_stub_method(), compile_object_run(), create_gdbtypes_data(), decode_type(), define_symbol(), desc_bounds(), python_xmethod_worker::do_get_arg_types(), python_xmethod_worker::do_get_result_type(), do_module_cleanup(), eval_op_member(), eval_op_objc_msgcall(), expr::ada_unop_ind_operation::evaluate(), expr::var_value_operation::evaluate_for_address(), expr::var_msym_value_operation::evaluate_for_address(), expr::unop_memval_operation::evaluate_for_address(), expr::unop_memval_type_operation::evaluate_for_address(), expr::structop_base_operation::evaluate_funcall(), expr::structop_member_base::evaluate_funcall(), evaluate_subexp_for_address_base(), expr::var_value_operation::evaluate_with_coercion(), fbsd_get_siginfo_type(), find_function_in_inferior(), type_stack::follow_types(), gdbscm_type_pointer(), gdbscm_value_dynamic_type(), gen_address_of(), gen_usual_unary(), ravenscar_thread_target::get_fpu_state(), gnuv2_virtual_fn_field(), gnuv3_baseclass_offset(), gnuv3_get_virtual_fn(), gnuv3_get_vtable(), gnuv3_method_ptr_to_value(), i386_stap_parse_special_token_three_arg_disp(), i386_stap_parse_special_token_triplet(), python_xmethod_worker::invoke(), ada_language::language_arch_info(), linux_get_siginfo_type_with_fields(), nbsd_get_siginfo_type(), rust_parser::parse_function_type(), rust_parser::parse_pointer_type(), rust_parser::parse_slice_type(), ppc_sysv_get_return_buf_addr(), quirk_ada_thick_pointer(), quirk_ada_thick_pointer_struct(), read_tag_pointer_type(), language_defn::read_var_value(), resolve_dynamic_struct(), rust_get_trait_object_pointer(), rust_slice_type(), sect_variable_value(), sparc32_store_arguments(), sparc64_store_arguments(), stap_parse_register_operand(), thin_data_pntr(), typy_lookup_type(), typy_pointer(), upgrade_type(), valpy_get_dynamic_type(), valpy_getitem(), value_addr(), value_arg_coerce(), value_coerce_array(), value_coerce_function(), value_fn_field(), value_nsstring(), value_reinterpret_cast(), value_rtti_indirect_type(), value_struct_elt_for_reference(), windows_get_tlb_type(), x_command(), and yyparse().
Definition at line 510 of file gdbtypes.c.
References make_reference_type().
Referenced by python_xmethod_worker::do_get_result_type(), python_xmethod_worker::invoke(), lookup_lvalue_reference_type(), lookup_rvalue_reference_type(), read_tag_reference_type(), value_ref(), and value_rtti_indirect_type().
Definition at line 526 of file gdbtypes.c.
References lookup_reference_type().
Referenced by type_stack::follow_types(), typy_lookup_type(), and valpy_getitem().
|
extern |
Definition at line 1685 of file gdbtypes.c.
References lookup_typename(), and name.
Referenced by binop_promote(), and yyparse().
|
extern |
Definition at line 1427 of file gdbtypes.c.
References lookup_array_range_type(), and type::set_code().
Referenced by value_string().
|
extern |
Definition at line 1791 of file gdbtypes.c.
References check_typedef(), type::code(), type::field(), struct_elt::field, field::loc_bitpos(), lookup_struct_elt(), name, field::name(), type::num_fields(), struct_elt::offset, strcmp_iw(), type::target_type(), field::type(), TYPE_BASECLASS, TYPE_N_BASECLASSES, and type_to_string().
Referenced by fbsd_fetch_rtld_offsets(), lookup_struct_elt(), and lookup_struct_elt_type().
Definition at line 1850 of file gdbtypes.c.
References struct_elt::field, lookup_struct_elt(), name, and field::type().
Referenced by desc_bounds_type(), desc_data_target_type(), desc_index_type(), expr::fortran_structop_operation::evaluate(), is_thick_pntr(), yylex(), and yyparse().
|
extern |
Definition at line 1764 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, type::name(), block_symbol::symbol, symbol::type(), and VAR_DOMAIN.
Referenced by yyparse().
|
extern |
Definition at line 1651 of file gdbtypes.c.
References symbol::aclass(), check_typedef(), LOC_TYPEDEF, lookup_symbol_in_language(), name, block_symbol::symbol, type, symbol::type(), and VAR_DOMAIN.
Referenced by cp_lookup_symbol_imports_or_template(), expr::c_string_operation::evaluate(), python_xmethod_worker::invoke(), lookup_signed_typename(), lookup_unsigned_typename(), printf_wide_c_string(), rust_parser::rust_lookup_type(), typy_lookup_typename(), tyscm_lookup_typename(), ui_printf(), yylex(), and yyparse().
|
extern |
Definition at line 1673 of file gdbtypes.c.
References lookup_typename(), and name.
Referenced by binop_promote(), and yyparse().
|
extern |
Definition at line 706 of file typeprint.c.
References parse_expression(), recursive_dump_type(), and value::type().
Definition at line 809 of file gdbtypes.c.
References type::instance_flags(), make_qualified_type(), and TYPE_INSTANCE_FLAG_ATOMIC.
Referenced by type_stack::follow_types(), and read_tag_atomic_type().
|
extern |
Definition at line 740 of file gdbtypes.c.
References type::instance_flags(), make_qualified_type(), type::objfile_owner(), TYPE_INSTANCE_FLAG_CONST, and TYPE_INSTANCE_FLAG_VOLATILE.
Referenced by add_array_cv_type(), build_std_type_info_type(), c_type_print_args(), create_value(), python_xmethod_worker::do_get_arg_types(), type_stack::follow_types(), gdbscm_type_const(), gdbscm_type_unqualified(), gdbscm_type_volatile(), gnuv3_get_typeid(), rust_language::language_arch_info(), make_cv_value(), read_subroutine_type(), read_tag_const_type(), read_tag_volatile_type(), read_type(), typy_const(), typy_lookup_type(), typy_unqualified(), typy_volatile(), and value_rtti_indirect_type().
Definition at line 537 of file gdbtypes.c.
References INIT_FUNC_SPECIFIC, type_allocator::new_type(), type::set_code(), type::set_length(), type::set_target_type(), and smash_type().
Referenced by avr_gdbarch_init(), ft32_gdbarch_init(), lookup_function_type(), lookup_function_type_with_arguments(), read_type(), and z80_gdbarch_init().
Definition at line 369 of file gdbtypes.c.
References type::arch(), type::chain, gdbarch_ptr_bit(), type::length(), type_allocator::new_type(), type::set_code(), type::set_is_unsigned(), type::set_length(), type::set_target_type(), smash_type(), TYPE_CHAIN, and TYPE_POINTER_TYPE.
Referenced by build_std_type_info_type(), compute_exception(), gnuv3_get_typeid(), lookup_pointer_type(), parse_symbol(), and read_type().
|
extern |
Definition at line 442 of file gdbtypes.c.
References type::arch(), type::chain, gdbarch_ptr_bit(), type::length(), type_allocator::new_type(), type::set_code(), type::set_length(), type::set_target_type(), smash_type(), TYPE_CHAIN, TYPE_REFERENCE_TYPE, and TYPE_RVALUE_REFERENCE_TYPE.
Referenced by lookup_reference_type(), and read_type().
Definition at line 785 of file gdbtypes.c.
References type::instance_flags(), make_qualified_type(), and TYPE_INSTANCE_FLAG_RESTRICT.
Referenced by type_stack::follow_types(), and read_tag_restrict_type().
|
extern |
Definition at line 715 of file gdbtypes.c.
References type::instance_flags(), make_qualified_type(), TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL, TYPE_INSTANCE_FLAG_CODE_SPACE, and TYPE_INSTANCE_FLAG_DATA_SPACE.
Referenced by type_stack::follow_types(), get_gdb_vtable_type(), and read_tag_pointer_type().
Definition at line 796 of file gdbtypes.c.
References type::instance_flags(), make_qualified_type(), TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_RESTRICT, and TYPE_INSTANCE_FLAG_VOLATILE.
Referenced by compile_cplus_convert_qualified(), and convert_qualified().
|
extern |
Definition at line 1468 of file gdbtypes.c.
References type::code(), flags, type::instance_flags(), make_qualified_type(), type::set_is_vector(), type::set_target_type(), type::target_type(), and TYPE_INSTANCE_FLAG_NOTTEXT.
Referenced by init_vector_type(), read_array_type(), read_type(), typy_array_1(), tyscm_array_1(), and vlscm_convert_bytevector().
|
inlinestatic |
Definition at line 429 of file gdbtypes.h.
|
inlinestatic |
Definition at line 755 of file gdbtypes.h.
|
extern |
Definition at line 893 of file gdbtypes.c.
References dynamic_prop::baton(), dynamic_prop::const_val(), dynamic_prop::kind(), dynamic_prop::original_type(), PROP_ADDR_OFFSET, PROP_CONST, PROP_LOCEXPR, PROP_LOCLIST, PROP_TYPE, PROP_UNDEFINED, PROP_VARIANT_PARTS, and dynamic_prop::variant_parts().
|
extern |
Definition at line 920 of file gdbtypes.c.
References FIELD_EQ.
|
extern |
Definition at line 369 of file printcmd.c.
References type::arch(), range_bounds::bias, type::bit_size_differs_p(), type::bounds(), builtin_type::builtin_true_char, builtin_type::builtin_true_unsigned_char, builtin_type(), type::code(), float_type_from_length(), value_print_options::format, gdbarch_addr_bit(), is_fixed_point_type(), type::is_unsigned(), type::length(), print_address(), print_binary_chars(), print_decimal_chars(), print_floating(), print_hex_chars(), print_octal_chars(), size, store_signed_integer(), type_byte_order(), unpack_long(), value_from_longest(), and value_print().
Referenced by mi_cmd_data_read_memory(), mips_print_fp_register(), and value_print_scalar_formatted().
|
extern |
Definition at line 4040 of file gdbtypes.c.
References EXACT_MATCH_BADNESS, LENGTH_MISMATCH_BADNESS, rank_one_type(), and TOO_FEW_PARAMS_BADNESS.
Referenced by find_oload_champ().
Definition at line 4779 of file gdbtypes.c.
References check_typedef(), type::code(), CV_CONVERSION_BADNESS, CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE, EXACT_MATCH_BADNESS, gdb_printf(), gdb_stderr, INCOMPATIBLE_TYPE_BADNESS, value::lval(), type::name(), not_lval, overload_debug, rank_one_type(), rank_one_type_parm_array(), rank_one_type_parm_bool(), rank_one_type_parm_char(), rank_one_type_parm_complex(), rank_one_type_parm_enum(), rank_one_type_parm_float(), rank_one_type_parm_func(), rank_one_type_parm_int(), rank_one_type_parm_ptr(), rank_one_type_parm_range(), rank_one_type_parm_set(), rank_one_type_parm_struct(), REFERENCE_CONVERSION_BADNESS, REFERENCE_CONVERSION_CONST_LVALUE, REFERENCE_CONVERSION_RVALUE, REFERENCE_SEE_THROUGH_BADNESS, rank::subrank, sum_ranks(), type::target_type(), TYPE_CONST, TYPE_IS_REFERENCE, TYPE_VOLATILE, and types_equal().
Referenced by compare_parameters(), rank_function(), rank_one_type(), rank_one_type_parm_array(), rank_one_type_parm_func(), rank_one_type_parm_ptr(), and rank_one_type_parm_set().
|
extern |
Definition at line 5103 of file gdbtypes.c.
References type::arch_owner(), type::bit_offset(), type::bit_size(), type::bit_size_differs_p(), field::bitsize(), type::bounds(), type::code(), dont_print_type_obstack, dump_dynamic_prop(), type::endianity_is_not_default(), type::field(), type::fields(), gdb_printf(), gdb_puts(), type::has_no_signedness(), type::has_varargs(), HAVE_CPLUS_STRUCT, range_bounds::high, type::instance_flags(), type::is_fixed_instance(), type::is_objfile_owned(), type::is_prototyped(), type::is_stub(), type::is_unsigned(), type::is_vector(), type::length(), field::loc_bitpos(), field::loc_enumval(), range_bounds::low, name, field::name(), type::name(), type::num_fields(), type::objfile_owner(), print_cplus_stuff(), print_fixed_point_type_info(), print_gnat_stuff(), recursive_dump_type(), type::stub_is_supported(), type::target_is_stub(), type::target_type(), field::type(), TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2, TYPE_ALLOCATED_PROP, TYPE_ASSOCIATED_PROP, TYPE_ATOMIC, TYPE_CALLING_CONVENTION, TYPE_CHAIN, TYPE_CODE_SPACE, TYPE_CODE_UNDEF, TYPE_CONST, TYPE_CPLUS_SPECIFIC, TYPE_DATA_SPACE, TYPE_FLOATFORMAT, TYPE_GNAT_SPECIFIC, TYPE_NFN_FIELDS, TYPE_NOTTEXT, TYPE_POINTER_TYPE, TYPE_REFERENCE_TYPE, TYPE_RESTRICT, TYPE_SELF_TYPE, TYPE_SPECIFIC_CPLUS_STUFF, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FIXED_POINT, TYPE_SPECIFIC_FLOATFORMAT, TYPE_SPECIFIC_FUNC, TYPE_SPECIFIC_GNAT_STUFF, TYPE_SPECIFIC_INT, TYPE_SPECIFIC_SELF_TYPE, and TYPE_VOLATILE.
Referenced by dump_fn_fieldlists(), maintenance_print_type(), print_args(), print_cplus_stuff(), print_gnat_stuff(), and recursive_dump_type().
Definition at line 828 of file gdbtypes.c.
References type::chain, type::instance_flags(), type::length(), type::objfile_owner(), type::set_length(), TYPE_ADDRESS_CLASS_ALL, TYPE_CHAIN, and TYPE_MAIN_TYPE.
Referenced by cleanup_undefined_types_1(), cleanup_undefined_types_noname(), and read_type().
|
extern |
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.
If FRAME is given, it is used when evaluating dynamic properties. This can be important when a static link is seen. If not given, the selected frame is used.
For an array type, if the element type is dynamic, then that will not be resolved. This is done because each individual element may have a different type when resolved (depending on the contents of memory). In this situation, 'is_dynamic_type' will still return true for the return value of this function.
Definition at line 2857 of file gdbtypes.c.
References property_addr_info::addr, check_typedef(), resolve_dynamic_type_internal(), and property_addr_info::valaddr.
Referenced by ada_discrete_type_high_bound(), ada_discrete_type_low_bound(), ada_value_primitive_packed_val(), ada_value_print_inner(), decode_constrained_packed_array(), expr::fortran_structop_operation::evaluate(), expr::rust_struct_anon::evaluate(), expr::rust_structop::evaluate(), rust_language::print_enum(), language_defn::read_var_value(), readjust_indirect_value_type(), value_from_contents_and_address(), value_subscripted_rvalue(), value_tag_from_contents_and_address(), and fortran_array_walker< Impl >::walk_1().
|
extern |
Set the alignment of the type. The alignment must be a power of
Definition at line 3619 of file gdbtypes.c.
References type::align_log2, and TYPE_ALIGN_BITS.
Referenced by maybe_set_alignment(), read_enumeration_type(), and read_tag_pointer_type().
Definition at line 1533 of file gdbtypes.c.
References type::code(), INIT_FUNC_SPECIFIC, TYPE_MAIN_TYPE, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FUNC, TYPE_SPECIFIC_NONE, and TYPE_SPECIFIC_SELF_TYPE.
Referenced by copy_type_recursive(), read_member_functions(), smash_to_memberptr_type(), smash_to_method_type(), and smash_to_methodptr_type().
Definition at line 1954 of file gdbtypes.c.
References ALLOCATE_CPLUS_STRUCT_TYPE, check_typedef(), type::code(), HAVE_CPLUS_STRUCT, and TYPE_RAW_CPLUS_SPECIFIC.
Referenced by get_vptr_fieldno(), process_structure_scope(), and read_tilde_fields().
|
extern |
Definition at line 1928 of file gdbtypes.c.
References ALLOCATE_CPLUS_STRUCT_TYPE, check_typedef(), type::code(), HAVE_CPLUS_STRUCT, and TYPE_RAW_CPLUS_SPECIFIC.
Referenced by allocate_cplus_struct_type(), get_vptr_fieldno(), process_structure_scope(), and read_tilde_fields().
|
extern |
Definition at line 1567 of file gdbtypes.c.
References type::arch(), gdbarch_ptr_bit(), type::set_code(), type::set_length(), type::set_target_type(), set_type_self_type(), and smash_type().
Referenced by lookup_memberptr_type(), and read_type().
|
extern |
Definition at line 1603 of file gdbtypes.c.
References type::set_code(), type::set_fields(), type::set_has_varargs(), type::set_length(), type::set_num_fields(), type::set_target_type(), set_type_self_type(), and smash_type().
Referenced by check_stub_method(), dwarf2_add_member_fn(), quirk_gcc_member_function_pointer(), read_tag_ptr_to_member_type(), and read_type().
Definition at line 1586 of file gdbtypes.c.
References cplus_method_ptr_size(), type::set_code(), type::set_length(), type::set_target_type(), set_type_self_type(), smash_type(), and TYPE_SELF_TYPE.
Referenced by lookup_methodptr_type(), and quirk_gcc_member_function_pointer().
Definition at line 3934 of file gdbtypes.c.
References rank::rank, and rank::subrank.
Referenced by rank_one_type(), rank_one_type_parm_ptr(), and rank_one_type_parm_struct().
|
extern |
Return the alignment of the type in target addressable memory units. Return 0 if the alignment cannot be determined; but note that this makes an effort to compute the alignment even it it was not specified in the debug info.
Definition at line 3527 of file gdbtypes.c.
References type::arch(), check_typedef(), type::code(), type::field(), gdbarch_type_align(), field::is_static(), type::num_fields(), type::target_type(), field::type(), type_align(), type_length_units(), and type_raw_align().
Referenced by amd64_has_unaligned_fields(), arm_push_dummy_call(), eval_op_alignof(), jit_read_code_entry(), loongarch_push_dummy_call(), m68k_reg_struct_return_p(), nds32_push_dummy_call(), pass_on_stack(), quirk_ada_thick_pointer(), riscv_arg_location(), rust_composite_type(), set_gdbarch_type_align(), type_align(), and typy_get_alignof().
|
extern |
When the type includes explicit byte ordering, return that. Otherwise, the byte ordering from gdbarch_byte_order for the type's arch is returned.
Definition at line 3900 of file gdbtypes.c.
References type::arch(), type::endianity_is_not_default(), and gdbarch_byte_order().
Referenced by ada_val_print_string(), ada_value_assign(), ada_value_primitive_packed_val(), address_to_signed_pointer(), c_get_string(), c_value_print_array(), value::contents_copy_raw_bitwise(), cp_print_class_member(), darwin_current_sos(), decode_constrained_packed_array(), default_print_one_register_info(), default_value_from_register(), fixed_point_binop(), value::from_component_bitsize(), generic_emit_char(), generic_printstr(), generic_val_print_fixed_point(), f_language::get_encoding(), gnuv3_make_method_ptr(), match_endianness(), modify_field(), pack_long(), pack_unsigned_long(), ppc64_sysv_abi_return_value_base(), print_scalar_formatted(), pascal_language::printstr(), printstr(), processInt(), language_defn::read_var_value(), riscv_print_one_register_info(), riscv_return_value(), rw_pieced_value(), scalar_binop(), signed_pointer_to_address(), solib_svr4_r_ldsomap(), solib_svr4_r_next(), stap_modify_semaphore(), target_float_same_format_p(), value::unpack_bitfield(), unpack_bits_as_long(), unpack_long(), unsigned_address_to_pointer(), unsigned_pointer_to_address(), val_print_string(), value_as_mpz(), value_assign_to_component(), value_bit_index(), value_cast(), value_cast_to_fixed_point(), value_from_mpz(), value_pointer(), pascal_language::value_print_inner(), and value_to_gdb_mpq().
|
extern |
Definition at line 308 of file gdbtypes.c.
References type::arch(), gdbarch_addressable_memory_unit_size(), and type::length().
Referenced by value::fetch_lazy_memory(), value::fetch_lazy_register(), find_size_for_pointer_math(), fortran_adjust_dynamic_array_base_address_hack(), fortran_array_offset_calculator::fortran_array_offset_calculator(), fortran_associated(), value::primitive_field(), read_frame_register_value(), type_align(), value_array(), value_assign(), value_from_component(), value_ptrdiff(), value_repeat(), value_slice(), value_subscript(), and value_subscripted_rvalue().
|
extern |
Definition at line 1629 of file gdbtypes.c.
References check_typedef(), name, type::name(), objfile::objfile(), objfile_name(), type::objfile_owner(), and type.
Referenced by cp_lookup_nested_symbol(), d_lookup_nested_symbol(), and destructor_name_p().
|
extern |
Definition at line 4361 of file gdbtypes.c.
References dynamic_prop::const_val(), dynamic_prop::is_constant(), and TYPE_ALLOCATED_PROP.
Referenced by eval_op_f_allocated(), expr::var_value_operation::evaluate_for_sizeof(), f_language::f_type_print_varspec_suffix(), fortran_adjust_dynamic_array_base_address_hack(), fortran_array_shape(), fortran_array_size(), update_static_array_size(), valprint_check_validity(), value_check_printable(), value_slice(), expr::fortran_undetermined::value_subarray(), and value_subscripted_rvalue().
|
extern |
Definition at line 4372 of file gdbtypes.c.
References dynamic_prop::const_val(), dynamic_prop::is_constant(), and TYPE_ASSOCIATED_PROP.
Referenced by expr::var_value_operation::evaluate_for_sizeof(), f_language::f_type_print_varspec_suffix(), fortran_adjust_dynamic_array_base_address_hack(), fortran_array_shape(), fortran_array_size(), fortran_associated(), update_static_array_size(), valprint_check_validity(), value_check_printable(), value_slice(), expr::fortran_undetermined::value_subarray(), and value_subscripted_rvalue().
|
extern |
Return the alignment of the type in target addressable memory units, or 0 if no alignment was specified.
Definition at line 3517 of file gdbtypes.c.
References type::align_log2.
Referenced by type_align().
Definition at line 4342 of file gdbtypes.c.
References check_types_worklist(), type_equality_entry::type1, and type_equality_entry::type2.
Referenced by compile_object_load(), get_out_value_type(), typy_richcompare(), tyscm_equal_p_type_smob(), and value_cast().
Definition at line 4114 of file gdbtypes.c.
References check_typedef(), type::code(), type::field(), type::name(), type::num_fields(), type::target_type(), field::type(), and types_equal().
Referenced by ada_atr_enum_rep(), python_xmethod_worker::do_get_result_type(), eq_typedef_field(), get_baseclass_offset(), python_xmethod_worker::invoke(), compile_cplus_instance::new_scope(), rank_one_type(), rank_one_type_parm_ptr(), rust_range(), types_equal(), value_concat(), value_has_field(), and value_struct_elt_bitpos().
|
extern |
Badness of converting derived to base class.
Definition at line 73 of file gdbtypes.c.
Referenced by rank_one_type_parm_struct().
|
extern |
Badness of converting a derived class pointer to a base class pointer.
Definition at line 66 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().
|
extern |
Badness of conversion to boolean.
Definition at line 72 of file gdbtypes.c.
Referenced by rank_one_type_parm_bool().
|
extern |
The default value of TYPE_CPLUS_SPECIFIC(T) points to this shared static structure.
Definition at line 3291 of file gdbtypes.c.
Referenced by allocate_cplus_struct_type().
|
extern |
Badness of cv-conversion. Subrank is a flag describing the conversions being done.
Definition at line 67 of file gdbtypes.c.
Referenced by rank_one_type(), and rank_one_type_parm_ptr().
|
extern |
Badness of an exact match.
Definition at line 62 of file gdbtypes.c.
Referenced by compare_parameters(), rank_function(), rank_one_type(), rank_one_type_parm_bool(), rank_one_type_parm_char(), rank_one_type_parm_complex(), rank_one_type_parm_float(), rank_one_type_parm_int(), and rank_one_type_parm_ptr().
|
extern |
Badness of floating conversion.
Definition at line 69 of file gdbtypes.c.
Referenced by rank_one_type_parm_float().
|
extern |
Badness of floating promotion.
Definition at line 65 of file gdbtypes.c.
Referenced by rank_one_type_parm_complex(), and rank_one_type_parm_float().
|
extern |
Definition at line 109 of file gdbtypes.c.
Referenced by arm_ext_type(), and make_gdb_type().
|
extern |
Definition at line 129 of file gdbtypes.c.
Referenced by i386_gdbarch_init(), and make_gdb_type().
|
extern |
Definition at line 101 of file gdbtypes.c.
Referenced by i386_gdbarch_init(), ia64_gdbarch_init(), and make_gdb_type().
|
extern |
Definition at line 113 of file gdbtypes.c.
|
extern |
Definition at line 125 of file gdbtypes.c.
Referenced by do_ppc_sysv_return_value(), mips_gdbarch_init(), ppc64_sysv_abi_push_freg(), ppc64_sysv_abi_return_value_base(), ppc_floatformat_for_type(), ppc_linux_init_abi(), and ppc_sysv_abi_push_dummy_call().
|
extern |
Definition at line 89 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), arc_gdbarch_init(), arm_gdbarch_init(), build_go_types(), csky_gdbarch_init(), csky_register_type(), hppa_linux_init_abi(), hppabsd_init_abi(), iq2000_gdbarch_init(), opencl_language::language_arch_info(), rust_language::language_arch_info(), m68hc11_gdbarch_init(), m68k_gdbarch_init(), make_gdb_type(), msp430_gdbarch_init(), nios2_gdbarch_init(), or1k_gdbarch_init(), ppcfbsd_init_abi(), ppcobsd_init_abi(), rl78_gdbarch_init(), rs6000_builtin_type(), rx_gdbarch_init(), sparc32nbsd_init_abi(), and tic6x_gdbarch_init().
|
extern |
Definition at line 97 of file gdbtypes.c.
Referenced by arm_gdbarch_init(), and sh_littlebyte_bigword_type().
|
extern |
Definition at line 81 of file gdbtypes.c.
Referenced by opencl_language::language_arch_info(), and make_gdb_type().
|
extern |
Definition at line 93 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), hppa_gdbarch_init(), i386_floatformat_for_type(), ia64_openvms_init_abi(), loongarch_gdbarch_init(), mips64obsd_init_abi(), mips_linux_init_abi(), ppc64_elfv2_abi_homogeneous_aggregate(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_return_value_base(), ppc_floatformat_for_type(), ppc_linux_init_abi(), ppc_sysv_abi_push_dummy_call(), riscv_gdbarch_init(), rs6000_builtin_type_vec128(), s390_gdbarch_init(), and sparc32_gdbarch_init().
|
extern |
Definition at line 85 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), arc_gdbarch_init(), arm_gdbarch_init(), avr_gdbarch_init(), BP_MANIPULATION(), build_go_types(), csky_gdbarch_init(), iq2000_gdbarch_init(), opencl_language::language_arch_info(), rust_language::language_arch_info(), m68hc11_gdbarch_init(), make_gdb_type(), msp430_gdbarch_init(), nds32_pseudo_register_type(), nios2_gdbarch_init(), or1k_gdbarch_init(), rl78_gdbarch_init(), rs6000_builtin_type(), rx_gdbarch_init(), sh_gdbarch_init(), tic6x_gdbarch_init(), and z80_gdbarch_init().
|
extern |
Definition at line 105 of file gdbtypes.c.
Referenced by m68881_ext_type(), and m68k_gdbarch_init().
|
extern |
Definition at line 121 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
|
extern |
Definition at line 117 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
|
extern |
Definition at line 3307 of file gdbtypes.c.
Referenced by allocate_gnat_aux_type().
|
extern |
Badness if no conversion among types.
Definition at line 60 of file gdbtypes.c.
Referenced by classify_oload_match(), rank_one_type(), rank_one_type_parm_array(), rank_one_type_parm_bool(), rank_one_type_parm_char(), rank_one_type_parm_complex(), rank_one_type_parm_enum(), rank_one_type_parm_float(), rank_one_type_parm_func(), rank_one_type_parm_int(), rank_one_type_parm_ptr(), rank_one_type_parm_range(), rank_one_type_parm_set(), and rank_one_type_parm_struct().
|
extern |
Badness of integer<->floating conversions.
Definition at line 70 of file gdbtypes.c.
Referenced by rank_one_type_parm_char(), rank_one_type_parm_enum(), rank_one_type_parm_float(), rank_one_type_parm_int(), and rank_one_type_parm_range().
|
extern |
Badness of integral conversion.
Definition at line 68 of file gdbtypes.c.
Referenced by rank_one_type_parm_char(), rank_one_type_parm_enum(), rank_one_type_parm_int(), and rank_one_type_parm_range().
|
extern |
Badness of integral promotion.
Definition at line 64 of file gdbtypes.c.
Referenced by rank_one_type_parm_char(), and rank_one_type_parm_int().
|
extern |
Badness if parameter list length doesn't match arg list length.
Definition at line 57 of file gdbtypes.c.
Referenced by rank_function().
|
extern |
Badness of converting a (non-zero) integer constant to a pointer.
Definition at line 78 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().
|
extern |
Converting a pointer to an int is usually OK.
Definition at line 77 of file gdbtypes.c.
Referenced by classify_oload_match(), and rank_one_type_parm_int().
|
extern |
Badness of converting integer 0 to NULL pointer.
|
extern |
Definition at line 140 of file gdbtypes.c.
Referenced by find_oload_champ(), and rank_one_type().
|
extern |
Badness of converting from non-reference to reference. Subrank is the type of reference conversion being done.
Definition at line 74 of file gdbtypes.c.
Referenced by rank_one_type().
|
extern |
Definition at line 75 of file gdbtypes.c.
Referenced by rank_one_type().
|
extern |
Dummy badness value for nonexistent parameter positions.
Definition at line 59 of file gdbtypes.c.
Referenced by rank_function().
|
extern |
Badness of conversion of pointer to void pointer.
Definition at line 71 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().