GDB (xrefs)
|
#include "defs.h"
#include "bfd.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbtypes.h"
#include "expression.h"
#include "language.h"
#include "target.h"
#include "value.h"
#include "demangle.h"
#include "complaints.h"
#include "gdbcmd.h"
#include "cp-abi.h"
#include "hashtab.h"
#include "cp-support.h"
#include "bcache.h"
#include "dwarf2/loc.h"
#include "dwarf2/read.h"
#include "gdbcore.h"
#include "floatformat.h"
#include "f-lang.h"
#include <algorithm>
#include "gmp-utils.h"
#include "rust-lang.h"
#include "ada-lang.h"
Go to the source code of this file.
Classes | |
struct | type_equality_entry |
struct | type_pair |
Macros | |
#define | INVALID_CONVERSION 100 |
#define | FIELD_EQ(FIELD) (l.FIELD == r.FIELD) |
Typedefs | |
typedef std::vector< std::unique_ptr< fixed_point_type_info > > | fixed_point_type_storage |
Functions | |
static struct dynamic_prop_list * | copy_dynamic_prop_list (struct obstack *, struct dynamic_prop_list *) |
static void | show_opaque_type_resolution (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_overload_debug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_strict_type_checking (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | set_type_code (struct type *type, enum type_code code) |
struct type * | get_target_type (struct type *type) |
unsigned int | type_length_units (struct type *type) |
static struct type * | alloc_type_instance (struct type *oldtype) |
static void | smash_type (struct type *type) |
struct type * | make_pointer_type (struct type *type, struct type **typeptr) |
struct type * | lookup_pointer_type (struct type *type) |
struct type * | make_reference_type (struct type *type, struct type **typeptr, enum type_code refcode) |
struct type * | lookup_reference_type (struct type *type, enum type_code refcode) |
struct type * | lookup_lvalue_reference_type (struct type *type) |
struct type * | lookup_rvalue_reference_type (struct type *type) |
struct type * | make_function_type (struct type *type, struct type **typeptr) |
struct type * | lookup_function_type (struct type *type) |
struct type * | lookup_function_type_with_arguments (struct type *type, int nparams, struct type **param_types) |
type_instance_flags | address_space_name_to_type_instance_flags (struct gdbarch *gdbarch, const char *space_identifier) |
const char * | address_space_type_instance_flags_to_name (struct gdbarch *gdbarch, type_instance_flags space_flag) |
static struct type * | make_qualified_type (struct type *type, type_instance_flags new_flags, struct type *storage) |
struct type * | make_type_with_address_space (struct type *type, type_instance_flags space_flag) |
struct type * | make_cv_type (int cnst, int voltl, struct type *type, struct type **typeptr) |
struct type * | make_restrict_type (struct type *type) |
struct type * | make_unqualified_type (struct type *type) |
struct type * | make_atomic_type (struct type *type) |
void | replace_type (struct type *ntype, struct type *type) |
struct type * | lookup_memberptr_type (struct type *type, struct type *domain) |
struct type * | lookup_methodptr_type (struct type *to_type) |
bool | operator== (const dynamic_prop &l, const dynamic_prop &r) |
bool | operator== (const range_bounds &l, const range_bounds &r) |
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_static_range_type (type_allocator &alloc, struct type *index_type, LONGEST low_bound, LONGEST high_bound) |
static bool | has_static_range (const struct range_bounds *bounds) |
gdb::optional< LONGEST > | get_discrete_low_bound (struct type *type) |
gdb::optional< LONGEST > | get_discrete_high_bound (struct type *type) |
bool | get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp) |
bool | get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) |
gdb::optional< LONGEST > | discrete_position (struct type *type, LONGEST val) |
static bool | update_static_array_size (struct type *type) |
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_array_type (type_allocator &alloc, struct type *element_type, struct type *range_type) |
struct type * | lookup_array_range_type (struct type *element_type, LONGEST low_bound, LONGEST high_bound) |
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 *string_char_type, LONGEST low_bound, LONGEST high_bound) |
struct type * | create_set_type (type_allocator &alloc, struct type *domain_type) |
void | make_vector_type (struct type *array_type) |
struct type * | init_vector_type (struct type *elt_type, int n) |
struct type * | internal_type_self_type (struct type *type) |
void | set_type_self_type (struct type *type, struct type *self_type) |
void | smash_to_memberptr_type (struct type *type, struct type *self_type, struct type *to_type) |
void | smash_to_methodptr_type (struct type *type, struct type *to_type) |
void | smash_to_method_type (struct type *type, struct type *self_type, struct type *to_type, struct field *args, int nargs, int varargs) |
const char * | type_name_or_error (struct type *type) |
struct type * | lookup_typename (const struct language_defn *language, const char *name, const struct block *block, int noerr) |
struct type * | lookup_unsigned_typename (const struct language_defn *language, const char *name) |
struct type * | lookup_signed_typename (const struct language_defn *language, const char *name) |
struct type * | lookup_struct (const char *name, const struct block *block) |
struct type * | lookup_union (const char *name, const struct block *block) |
struct type * | lookup_enum (const char *name, const struct block *block) |
struct type * | lookup_template_type (const char *name, struct type *type, const struct block *block) |
struct_elt | lookup_struct_elt (struct type *type, const char *name, int noerr) |
struct type * | lookup_struct_elt_type (struct type *type, const char *name, int noerr) |
ULONGEST | get_unsigned_type_max (struct type *type) |
void | get_signed_type_minmax (struct type *type, LONGEST *min, LONGEST *max) |
CORE_ADDR | get_pointer_type_max (struct type *type) |
int | internal_type_vptr_fieldno (struct type *type) |
void | set_type_vptr_fieldno (struct type *type, int fieldno) |
struct type * | internal_type_vptr_basetype (struct type *type) |
void | set_type_vptr_basetype (struct type *type, struct type *basetype) |
int | get_vptr_fieldno (struct type *type, struct type **basetypep) |
static void | stub_noname_complaint (void) |
static int | array_type_has_dynamic_stride (struct type *type) |
static int | is_dynamic_type_internal (struct type *type, int top_level) |
int | is_dynamic_type (struct type *type) |
static struct type * | resolve_dynamic_type_internal (struct type *type, struct property_addr_info *addr_stack, const frame_info_ptr &frame, int top_level) |
static struct type * | resolve_dynamic_range (struct type *dyn_range_type, struct property_addr_info *addr_stack, const frame_info_ptr &frame, int rank, bool resolve_p=true) |
static struct type * | resolve_dynamic_array_or_string_1 (struct type *type, struct property_addr_info *addr_stack, const frame_info_ptr &frame, int rank, bool resolve_p) |
static struct type * | resolve_dynamic_array_or_string (struct type *type, struct property_addr_info *addr_stack, const frame_info_ptr &frame) |
static struct type * | resolve_dynamic_union (struct type *type, struct property_addr_info *addr_stack, const frame_info_ptr &frame) |
static void | compute_variant_fields_inner (struct type *type, struct property_addr_info *addr_stack, const variant_part &part, std::vector< bool > &flags) |
static void | compute_variant_fields_recurse (struct type *type, struct property_addr_info *addr_stack, const variant &variant, std::vector< bool > &flags, bool enabled) |
static void | compute_variant_fields (struct type *type, struct type *resolved_type, struct property_addr_info *addr_stack, const gdb::array_view< variant_part > &parts) |
static struct type * | resolve_dynamic_struct (struct type *type, struct property_addr_info *addr_stack, const frame_info_ptr &frame) |
struct type * | resolve_dynamic_type (struct type *type, gdb::array_view< const gdb_byte > valaddr, CORE_ADDR addr, const frame_info_ptr *in_frame) |
struct type * | check_typedef (struct type *type) |
static struct type * | safe_parse_type (struct gdbarch *gdbarch, const char *p, int length) |
static void | check_stub_method (struct type *type, int method_id, int signature_id) |
void | check_stub_method_group (struct type *type, int method_id) |
void | allocate_cplus_struct_type (struct type *type) |
void | allocate_gnat_aux_type (struct type *type) |
static int | verify_floatformat (int bit, const struct floatformat *floatformat) |
const struct floatformat * | floatformat_from_type (const 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) |
struct type * | init_decfloat_type (type_allocator &alloc, int bit, const char *name) |
bool | can_create_complex_type (struct type *target_type) |
struct type * | init_complex_type (const char *name, struct type *target_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 &alloc, int bit, int unsigned_p, const char *name) |
unsigned | type_raw_align (struct type *type) |
unsigned | type_align (struct type *type) |
bool | set_type_align (struct type *type, ULONGEST align) |
int | can_dereference (struct type *t) |
int | is_integral_type (struct type *t) |
int | is_floating_type (struct type *t) |
int | is_scalar_type (struct type *type) |
int | is_scalar_type_recursive (struct type *t) |
int | class_or_union_p (const struct type *t) |
int | class_types_same_p (const struct type *a, const struct type *b) |
static int | distance_to_ancestor (struct type *base, struct type *dclass, int is_public) |
int | is_ancestor (struct type *base, struct type *dclass) |
int | is_public_ancestor (struct type *base, struct type *dclass) |
static int | is_unique_ancestor_worker (struct type *base, struct type *dclass, int *offset, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct value *val) |
int | is_unique_ancestor (struct type *base, struct value *val) |
enum bfd_endian | type_byte_order (const struct type *type) |
bool | is_nocall_function (const struct type *type) |
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 &a, const badness_vector &b) |
badness_vector | rank_function (gdb::array_view< type * > parms, gdb::array_view< value * > args) |
static int | integer_types_same_name_p (const char *first, const char *second) |
bool | types_equal (struct type *a, struct type *b) |
static bool | compare_maybe_null_strings (const char *s, const char *t) |
static bool | check_types_equal (struct type *type1, struct type *type2, std::vector< type_equality_entry > *worklist) |
static bool | check_types_worklist (std::vector< type_equality_entry > *worklist, gdb::bcache *cache) |
bool | types_deeply_equal (struct type *type1, struct type *type2) |
int | type_not_allocated (const struct type *type) |
int | type_not_associated (const struct type *type) |
static struct rank | rank_one_type_parm_ptr (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_array (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_func (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_enum (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_char (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_range (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_bool (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_float (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_complex (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_struct (struct type *parm, struct type *arg, struct value *value) |
static struct rank | rank_one_type_parm_set (struct type *parm, struct type *arg, struct value *value) |
struct rank | rank_one_type (struct type *parm, struct type *arg, struct value *value) |
static void | print_bit_vector (B_TYPE *bits, int nbits) |
static void | print_args (struct field *args, int nargs, int spaces) |
static void | dump_fn_fieldlists (struct type *type, int spaces) |
static void | print_cplus_stuff (struct type *type, int spaces) |
static void | print_gnat_stuff (struct type *type, int spaces) |
static void | print_fixed_point_type_info (struct type *type, int spaces) |
static void | dump_dynamic_prop (dynamic_prop const &prop) |
void | recursive_dump_type (struct type *type, int spaces) |
static hashval_t | type_pair_hash (const void *item) |
static int | type_pair_eq (const void *item_lhs, const void *item_rhs) |
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) |
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) |
struct type * | arch_composite_type (struct gdbarch *gdbarch, const char *name, enum type_code code) |
struct field * | append_composite_type_field_raw (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) |
void | append_composite_type_field (struct type *t, const char *name, struct type *field) |
void | allocate_fixed_point_type_info (struct type *type) |
bool | is_fixed_point_type (struct type *type) |
static struct builtin_type * | create_gdbtypes_data (struct gdbarch *gdbarch) |
const struct builtin_type * | builtin_type (struct gdbarch *gdbarch) |
const struct builtin_type * | builtin_type (struct objfile *objfile) |
void | _initialize_gdbtypes () |
Variables | |
const struct rank | LENGTH_MISMATCH_BADNESS = {INVALID_CONVERSION,0} |
const struct rank | TOO_FEW_PARAMS_BADNESS = {INVALID_CONVERSION,0} |
const struct rank | INCOMPATIBLE_TYPE_BADNESS = {INVALID_CONVERSION,0} |
const struct rank | EXACT_MATCH_BADNESS = {0,0} |
const struct rank | INTEGER_PROMOTION_BADNESS = {1,0} |
const struct rank | FLOAT_PROMOTION_BADNESS = {1,0} |
const struct rank | BASE_PTR_CONVERSION_BADNESS = {1,0} |
const struct rank | CV_CONVERSION_BADNESS = {1, 0} |
const struct rank | INTEGER_CONVERSION_BADNESS = {2,0} |
const struct rank | FLOAT_CONVERSION_BADNESS = {2,0} |
const struct rank | INT_FLOAT_CONVERSION_BADNESS = {2,0} |
const struct rank | VOID_PTR_CONVERSION_BADNESS = {2,0} |
const struct rank | BOOL_CONVERSION_BADNESS = {3,0} |
const struct rank | BASE_CONVERSION_BADNESS = {2,0} |
const struct rank | REFERENCE_CONVERSION_BADNESS = {2,0} |
const struct rank | REFERENCE_SEE_THROUGH_BADNESS = {0,1} |
const struct rank | NULL_POINTER_CONVERSION_BADNESS = {2,0} |
const struct rank | NS_POINTER_CONVERSION_BADNESS = {10,0} |
const struct rank | NS_INTEGER_POINTER_CONVERSION_BADNESS = {3,0} |
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] |
static bool | opaque_type_resolution = true |
unsigned int | overload_debug = 0 |
static bool | strict_type_checking = true |
const struct cplus_struct_type | cplus_struct_default = { } |
const struct gnat_aux_type | gnat_aux_default |
static struct obstack | dont_print_type_obstack |
static const struct registry< objfile >::key< fixed_point_type_storage > | fixed_point_objfile_key |
static const registry< gdbarch >::key< struct builtin_type > | gdbtypes_data |
#define INVALID_CONVERSION 100 |
Definition at line 50 of file gdbtypes.c.
Referenced by compare_badness().
typedef std::vector<std::unique_ptr<fixed_point_type_info> > fixed_point_type_storage |
Definition at line 5825 of file gdbtypes.c.
void _initialize_gdbtypes | ( | ) |
Definition at line 6195 of file gdbtypes.c.
Referenced by initialize_all_files().
type_instance_flags address_space_name_to_type_instance_flags | ( | struct gdbarch * | gdbarch, |
const char * | space_identifier ) |
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().
const char * address_space_type_instance_flags_to_name | ( | struct gdbarch * | gdbarch, |
type_instance_flags | space_flag ) |
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().
Definition at line 320 of file gdbtypes.c.
References type::arch_owner(), GDBARCH_OBSTACK_ZALLOC, type::is_objfile_owned(), objfile::objfile_obstack, type::objfile_owner(), type, TYPE_CHAIN, and TYPE_MAIN_TYPE.
Referenced by make_qualified_type().
void allocate_cplus_struct_type | ( | struct type * | type | ) |
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.
void allocate_fixed_point_type_info | ( | struct type * | type | ) |
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().
void allocate_gnat_aux_type | ( | struct type * | type | ) |
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().
void append_composite_type_field_aligned | ( | struct type * | t, |
const char * | name, | ||
struct type * | field, | ||
int | alignment ) |
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().
void append_flags_type_field | ( | struct type * | type, |
int | start_bitpos, | ||
int | nr_bits, | ||
struct type * | field_type, | ||
const char * | name ) |
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().
void append_flags_type_flag | ( | struct type * | type, |
int | bitpos, | ||
const char * | name ) |
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().
struct type * arch_composite_type | ( | struct gdbarch * | gdbarch, |
const char * | name, | ||
enum type_code | code ) |
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().
|
static |
Definition at line 2030 of file gdbtypes.c.
References type::dyn_prop(), DYN_PROP_BYTE_STRIDE, and dynamic_prop::is_constant().
Referenced by is_dynamic_type_internal().
const struct builtin_type * builtin_type | ( | struct gdbarch * | gdbarch | ) |
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().
const struct builtin_type * builtin_type | ( | struct objfile * | objfile | ) |
Return the type table for the specified objfile.
Definition at line 6180 of file gdbtypes.c.
References objfile::arch(), and builtin_type().
bool can_create_complex_type | ( | struct type * | target_type | ) |
Definition at line 3439 of file gdbtypes.c.
References type::code(), and type::target_type().
Referenced by complex_binop(), and init_complex_type().
int can_dereference | ( | struct type * | t | ) |
Definition at line 3642 of file gdbtypes.c.
References check_typedef(), type::code(), and type::target_type().
Referenced by print_value_flags().
|
static |
Definition at line 3162 of file gdbtypes.c.
References type::arch(), f(), gdb_demangle(), gdb_mangle_name(), lookup_pointer_type(), safe_parse_type(), type::set_is_stub(), smash_to_method_type(), type::target_type(), TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_STUB, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELDLIST1, and TYPE_ZALLOC.
Referenced by check_stub_method_group().
void check_stub_method_group | ( | struct type * | type, |
int | method_id ) |
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().
|
static |
Definition at line 4208 of file gdbtypes.c.
References field::bitsize(), type::bounds(), check_typedef(), type::code(), compare_maybe_null_strings(), dwarf2_locexpr_baton::data, type::endianity_is_not_default(), type::field(), FIELD_LOC_KIND_BITPOS, FIELD_LOC_KIND_DWARF_BLOCK, FIELD_LOC_KIND_ENUMVAL, FIELD_LOC_KIND_PHYSADDR, FIELD_LOC_KIND_PHYSNAME, type::has_no_signedness(), type::has_varargs(), type::instance_flags(), field::is_artificial(), type::is_unsigned(), type::is_vector(), type::length(), field::loc_bitpos(), field::loc_dwarf_block(), field::loc_enumval(), field::loc_kind(), field::loc_physaddr(), field::loc_physname(), field::name(), type::name(), type::num_fields(), dwarf2_locexpr_baton::per_cu, dwarf2_locexpr_baton::size, type::target_type(), field::type(), and TYPE_NOTTEXT.
Referenced by check_types_worklist().
|
static |
Definition at line 4315 of file gdbtypes.c.
References check_types_equal(), and gdb::bcache::insert().
Referenced by types_deeply_equal().
int class_or_union_p | ( | const struct type * | t | ) |
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().
int compare_badness | ( | const badness_vector & | a, |
const badness_vector & | b ) |
Definition at line 3976 of file gdbtypes.c.
References compare_ranks(), and INVALID_CONVERSION.
Referenced by find_oload_champ(), and find_overload_match().
|
static |
Definition at line 4196 of file gdbtypes.c.
Referenced by check_types_equal().
Definition at line 3948 of file gdbtypes.c.
References rank::rank, and rank::subrank.
Referenced by classify_oload_match(), compare_badness(), and compare_parameters().
|
static |
Definition at line 2599 of file gdbtypes.c.
References type::alloc_fields(), compute_variant_fields_inner(), type::field(), flags, and type::num_fields().
Referenced by resolve_dynamic_struct().
|
static |
Definition at line 2531 of file gdbtypes.c.
References property_addr_info::addr, bits, field::bitsize(), compute_variant_fields_recurse(), variant_part::discriminant_index, type::field(), FIELD_LOC_KIND_BITPOS, flags, variant::is_default(), variant_part::is_unsigned, type::length(), field::loc_bitpos(), field::loc_kind(), variant::matches(), read_memory(), size, field::type(), unpack_bits_as_long(), unpack_field_as_long(), property_addr_info::valaddr, and variant_part::variants.
Referenced by compute_variant_fields(), and compute_variant_fields_recurse().
|
static |
Definition at line 2499 of file gdbtypes.c.
References compute_variant_fields_inner(), compute_variant_fields_recurse(), type::field(), variant::first_field, flags, variant::last_field, and variant::parts.
Referenced by compute_variant_fields_inner(), and compute_variant_fields_recurse().
|
static |
Definition at line 5474 of file gdbtypes.c.
References dynamic_prop_list::next, and dynamic_prop_list::prop.
Referenced by copy_type(), copy_type_recursive(), and resolve_dynamic_array_or_string().
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().
struct type * create_array_type | ( | type_allocator & | alloc, |
struct type * | element_type, | ||
struct type * | range_type ) |
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().
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 ) |
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().
htab_up create_copied_types_hash | ( | ) |
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().
|
static |
Definition at line 5970 of file gdbtypes.c.
References builtin_type::builtin_bfloat16, builtin_type::builtin_bool, builtin_type::builtin_char, builtin_type::builtin_char16, builtin_type::builtin_char32, builtin_type::builtin_complex, builtin_type::builtin_core_addr, builtin_type::builtin_data_ptr, builtin_type::builtin_decdouble, builtin_type::builtin_decfloat, builtin_type::builtin_declong, builtin_type::builtin_double, builtin_type::builtin_double_complex, builtin_type::builtin_error, builtin_type::builtin_float, builtin_type::builtin_func_func, builtin_type::builtin_func_ptr, builtin_type::builtin_half, builtin_type::builtin_int, builtin_type::builtin_int0, builtin_type::builtin_int128, builtin_type::builtin_int16, builtin_type::builtin_int24, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type::builtin_long, builtin_type::builtin_long_double, builtin_type::builtin_long_long, builtin_type::builtin_short, builtin_type::builtin_signed_char, builtin_type::builtin_string, builtin_type::builtin_true_char, builtin_type::builtin_true_unsigned_char, builtin_type(), builtin_type::builtin_uint128, builtin_type::builtin_uint16, builtin_type::builtin_uint24, builtin_type::builtin_uint32, builtin_type::builtin_uint64, builtin_type::builtin_uint8, builtin_type::builtin_unsigned_char, builtin_type::builtin_unsigned_int, builtin_type::builtin_unsigned_long, builtin_type::builtin_unsigned_long_long, builtin_type::builtin_unsigned_short, builtin_type::builtin_void, builtin_type::builtin_wchar, gdbarch_addr_bit(), gdbarch_bfloat16_bit(), gdbarch_bfloat16_format(), gdbarch_char_signed(), gdbarch_double_bit(), gdbarch_double_format(), gdbarch_float_bit(), gdbarch_float_format(), gdbarch_half_bit(), gdbarch_half_format(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_long_double_bit(), gdbarch_long_double_format(), gdbarch_long_long_bit(), gdbarch_short_bit(), gdbarch_wchar_bit(), gdbarch_wchar_signed(), init_boolean_type(), init_character_type(), init_complex_type(), init_decfloat_type(), init_float_type(), init_integer_type(), init_pointer_type(), type::instance_flags(), builtin_type::internal_fn, lookup_function_type(), lookup_pointer_type(), type_allocator::new_type(), builtin_type::nodebug_data_symbol, builtin_type::nodebug_got_plt_symbol, builtin_type::nodebug_text_gnu_ifunc_symbol, builtin_type::nodebug_text_symbol, builtin_type::nodebug_tls_symbol, builtin_type::nodebug_unknown_symbol, type::set_has_no_signedness(), type::set_instance_flags(), type::set_is_gnu_ifunc(), TYPE_INSTANCE_FLAG_NOTTEXT, and builtin_type::xmethod.
Referenced by builtin_type().
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 ) |
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().
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 ) |
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().
struct type * create_set_type | ( | type_allocator & | alloc, |
struct type * | domain_type ) |
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().
struct type * create_static_range_type | ( | type_allocator & | alloc, |
struct type * | index_type, | ||
LONGEST | low_bound, | ||
LONGEST | high_bound ) |
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().
struct type * create_string_type | ( | type_allocator & | alloc, |
struct type * | string_char_type, | ||
struct type * | range_type ) |
Definition at line 1415 of file gdbtypes.c.
References create_array_type(), and type::set_code().
Referenced by read_tag_string_type().
gdb::optional< LONGEST > discrete_position | ( | struct type * | type, |
LONGEST | val ) |
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().
Definition at line 3787 of file gdbtypes.c.
References BASETYPE_VIA_PUBLIC, check_typedef(), class_types_same_p(), distance_to_ancestor(), TYPE_BASECLASS, and TYPE_N_BASECLASSES.
Referenced by distance_to_ancestor(), is_ancestor(), is_public_ancestor(), rank_one_type_parm_ptr(), and rank_one_type_parm_struct().
|
static |
Definition at line 5082 of file gdbtypes.c.
References dynamic_prop::const_val(), gdb_printf(), dynamic_prop::kind(), PROP_CONST, PROP_LOCEXPR, PROP_LOCLIST, and PROP_UNDEFINED.
Referenced by recursive_dump_type().
|
static |
Definition at line 4928 of file gdbtypes.c.
References f(), gdb_printf(), print_args(), recursive_dump_type(), TYPE_FN_FIELD_ARGS, TYPE_FN_FIELD_CONST, TYPE_FN_FIELD_DEFAULTED, TYPE_FN_FIELD_DELETED, TYPE_FN_FIELD_FCONTEXT, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_PRIVATE, TYPE_FN_FIELD_PROTECTED, TYPE_FN_FIELD_STUB, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VOFFSET, TYPE_FN_FIELD_VOLATILE, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, TYPE_FN_FIELDLIST_NAME, TYPE_FN_FIELDLISTS, and TYPE_NFN_FIELDS.
Referenced by print_cplus_stuff().
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().
bool get_array_bounds | ( | struct type * | type, |
LONGEST * | low_bound, | ||
LONGEST * | high_bound ) |
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().
bool get_discrete_bounds | ( | struct type * | type, |
LONGEST * | lowp, | ||
LONGEST * | highp ) |
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().
gdb::optional< LONGEST > get_discrete_high_bound | ( | struct type * | type | ) |
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().
gdb::optional< LONGEST > get_discrete_low_bound | ( | struct type * | type | ) |
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().
CORE_ADDR get_pointer_type_max | ( | struct type * | type | ) |
Definition at line 1895 of file gdbtypes.c.
References check_typedef(), type::code(), and type::length().
Referenced by vlscm_convert_typed_number().
void get_signed_type_minmax | ( | struct type * | type, |
LONGEST * | min, | ||
LONGEST * | max ) |
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().
ULONGEST get_unsigned_type_max | ( | struct type * | type | ) |
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().
|
static |
Definition at line 1037 of file gdbtypes.c.
References type::bounds(), range_bounds::high, dynamic_prop::is_constant(), range_bounds::low, and range_bounds::stride.
Referenced by is_dynamic_type_internal(), and update_static_array_size().
struct type * init_boolean_type | ( | type_allocator & | alloc, |
int | bit, | ||
int | unsigned_p, | ||
const char * | name ) |
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().
struct type * init_character_type | ( | type_allocator & | alloc, |
int | bit, | ||
int | unsigned_p, | ||
const char * | name ) |
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().
struct type * init_decfloat_type | ( | type_allocator & | alloc, |
int | bit, | ||
const char * | name ) |
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().
struct type * init_fixed_point_type | ( | type_allocator & | alloc, |
int | bit, | ||
int | unsigned_p, | ||
const char * | name ) |
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().
struct type * init_float_type | ( | type_allocator & | alloc, |
int | bit, | ||
const char * | name, | ||
const struct floatformat ** | floatformats, | ||
enum bfd_endian | byte_order ) |
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().
struct type * init_integer_type | ( | type_allocator & | alloc, |
int | bit, | ||
int | unsigned_p, | ||
const char * | name ) |
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().
struct type * init_pointer_type | ( | type_allocator & | alloc, |
int | bit, | ||
const char * | name, | ||
struct type * | target_type ) |
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().
|
static |
Definition at line 4077 of file gdbtypes.c.
Referenced by rank_one_type_parm_int().
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.
int internal_type_vptr_fieldno | ( | struct type * | type | ) |
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().
int is_dynamic_type | ( | struct type * | type | ) |
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().
|
static |
Definition at line 2040 of file gdbtypes.c.
References array_type_has_dynamic_stride(), BASETYPE_VIA_VIRTUAL, type::bounds(), check_typedef(), type::code(), type::dyn_prop(), DYN_PROP_VARIANT_PARTS, type::field(), FIELD_LOC_KIND_DWARF_BLOCK, has_static_range(), HAVE_CPLUS_STRUCT, type::index_type(), is_dynamic_type_internal(), field::is_static(), dynamic_prop::kind(), field::loc_kind(), type::num_fields(), PROP_LOCEXPR, PROP_LOCLIST, PROP_TYPE, type::target_type(), field::type(), TYPE_ALLOCATED_PROP, TYPE_ASSOCIATED_PROP, TYPE_DATA_LOCATION, TYPE_DATA_LOCATION_KIND, and TYPE_HAS_DYNAMIC_LENGTH.
Referenced by is_dynamic_type(), is_dynamic_type_internal(), and resolve_dynamic_type_internal().
bool is_fixed_point_type | ( | struct type * | type | ) |
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().
int is_floating_type | ( | struct type * | t | ) |
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().
int is_integral_type | ( | struct type * | t | ) |
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().
bool is_nocall_function | ( | const struct type * | type | ) |
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().
int is_scalar_type | ( | struct type * | type | ) |
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().
int is_scalar_type_recursive | ( | struct type * | t | ) |
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().
|
static |
Definition at line 3835 of file gdbtypes.c.
References baseclass_offset(), check_typedef(), class_types_same_p(), is_unique_ancestor_worker(), TYPE_BASECLASS, and TYPE_N_BASECLASSES.
Referenced by is_unique_ancestor(), and is_unique_ancestor_worker().
struct type * lookup_array_range_type | ( | struct type * | element_type, |
LONGEST | low_bound, | ||
LONGEST | high_bound ) |
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 1743 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
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().
struct type * lookup_function_type_with_arguments | ( | struct type * | type, |
int | nparams, | ||
struct type ** | param_types ) |
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().
struct type * lookup_signed_typename | ( | const struct language_defn * | language, |
const char * | name ) |
Definition at line 1685 of file gdbtypes.c.
References lookup_typename(), and name.
Referenced by binop_promote(), and yyparse().
struct type * lookup_string_range_type | ( | struct type * | string_char_type, |
LONGEST | low_bound, | ||
LONGEST | high_bound ) |
Definition at line 1427 of file gdbtypes.c.
References lookup_array_range_type(), and type::set_code().
Referenced by value_string().
Definition at line 1697 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
struct_elt lookup_struct_elt | ( | struct type * | type, |
const char * | name, | ||
int | noerr ) |
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().
struct type * lookup_template_type | ( | const char * | name, |
struct type * | type, | ||
const struct block * | block ) |
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().
struct type * lookup_typename | ( | const struct language_defn * | language, |
const char * | name, | ||
const struct block * | block, | ||
int | noerr ) |
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().
Definition at line 1719 of file gdbtypes.c.
References type::code(), lookup_symbol(), name, STRUCT_DOMAIN, block_symbol::symbol, and symbol::type().
Referenced by typy_lookup_typename(), tyscm_lookup_typename(), and yyparse().
struct type * lookup_unsigned_typename | ( | const struct language_defn * | language, |
const char * | name ) |
Definition at line 1673 of file gdbtypes.c.
References lookup_typename(), and name.
Referenced by binop_promote(), and yyparse().
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().
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().
|
static |
Definition at line 657 of file gdbtypes.c.
References alloc_type_instance(), type::instance_flags(), type::length(), type::objfile_owner(), type::set_instance_flags(), type::set_length(), type, TYPE_CHAIN, TYPE_MAIN_TYPE, TYPE_POINTER_TYPE, and TYPE_REFERENCE_TYPE.
Referenced by check_typedef(), make_atomic_type(), make_cv_type(), make_restrict_type(), make_type_with_address_space(), make_unqualified_type(), and make_vector_type().
struct type * make_reference_type | ( | struct type * | type, |
struct type ** | typeptr, | ||
enum type_code | refcode ) |
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().
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().
void make_vector_type | ( | struct type * | array_type | ) |
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().
bool operator== | ( | const dynamic_prop & | l, |
const dynamic_prop & | r ) |
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().
bool operator== | ( | const range_bounds & | l, |
const range_bounds & | r ) |
Definition at line 920 of file gdbtypes.c.
References FIELD_EQ.
|
static |
Definition at line 4911 of file gdbtypes.c.
References gdb_printf(), name, and recursive_dump_type().
Referenced by dump_fn_fieldlists(), print_frame_args(), print_frame_info(), and py_print_frame().
|
static |
Definition at line 4889 of file gdbtypes.c.
References B_TST, bits, gdb_printf(), and gdb_puts().
Referenced by print_cplus_stuff().
|
static |
Definition at line 4994 of file gdbtypes.c.
References dump_fn_fieldlists(), gdb_printf(), gdb_puts(), type::num_fields(), print_bit_vector(), recursive_dump_type(), TYPE_CPLUS_CALLING_CONVENTION, TYPE_FIELD_PRIVATE_BITS, TYPE_FIELD_PROTECTED_BITS, TYPE_FIELD_VIRTUAL_BITS, TYPE_N_BASECLASSES, TYPE_NFN_FIELDS, TYPE_VPTR_BASETYPE, and TYPE_VPTR_FIELDNO.
Referenced by recursive_dump_type().
|
static |
Definition at line 5071 of file gdbtypes.c.
References type::fixed_point_scaling_factor(), gdb_printf(), and gdb_mpq::str().
Referenced by recursive_dump_type().
|
static |
Definition at line 5054 of file gdbtypes.c.
References gdb_printf(), recursive_dump_type(), and TYPE_DESCRIPTIVE_TYPE.
Referenced by recursive_dump_type().
badness_vector rank_function | ( | gdb::array_view< type * > | parms, |
gdb::array_view< value * > | args ) |
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().
|
static |
Definition at line 4453 of file gdbtypes.c.
References type::code(), INCOMPATIBLE_TYPE_BADNESS, rank_one_type(), and type::target_type().
Referenced by rank_one_type().
|
static |
Definition at line 4661 of file gdbtypes.c.
References BOOL_CONVERSION_BADNESS, type::code(), EXACT_MATCH_BADNESS, and INCOMPATIBLE_TYPE_BADNESS.
Referenced by rank_one_type().
|
static |
Definition at line 4594 of file gdbtypes.c.
References type::code(), EXACT_MATCH_BADNESS, type::has_no_signedness(), INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, INTEGER_CONVERSION_BADNESS, INTEGER_PROMOTION_BADNESS, type::is_declared_class(), type::is_unsigned(), and type::length().
Referenced by rank_one_type().
|
static |
Definition at line 4717 of file gdbtypes.c.
References type::code(), EXACT_MATCH_BADNESS, FLOAT_PROMOTION_BADNESS, and INCOMPATIBLE_TYPE_BADNESS.
Referenced by rank_one_type().
|
static |
Definition at line 4572 of file gdbtypes.c.
References type::code(), INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, INTEGER_CONVERSION_BADNESS, and type::is_declared_class().
Referenced by rank_one_type().
|
static |
Definition at line 4692 of file gdbtypes.c.
References type::code(), EXACT_MATCH_BADNESS, FLOAT_CONVERSION_BADNESS, FLOAT_PROMOTION_BADNESS, INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, and type::length().
Referenced by rank_one_type().
|
static |
Definition at line 4469 of file gdbtypes.c.
References type::code(), INCOMPATIBLE_TYPE_BADNESS, rank_one_type(), and type::target_type().
Referenced by rank_one_type().
|
static |
Definition at line 4483 of file gdbtypes.c.
References type::code(), EXACT_MATCH_BADNESS, type::has_no_signedness(), INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, INTEGER_CONVERSION_BADNESS, INTEGER_PROMOTION_BADNESS, integer_types_same_name_p(), type::is_declared_class(), type::is_unsigned(), type::length(), type::name(), and NS_POINTER_CONVERSION_BADNESS.
Referenced by rank_one_type().
|
static |
Definition at line 4382 of file gdbtypes.c.
References BASE_PTR_CONVERSION_BADNESS, type::code(), CV_CONVERSION_BADNESS, CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE, distance_to_ancestor(), EXACT_MATCH_BADNESS, INCOMPATIBLE_TYPE_BADNESS, NS_INTEGER_POINTER_CONVERSION_BADNESS, NULL_POINTER_CONVERSION_BADNESS, rank_one_type(), strict_type_checking, rank::subrank, sum_ranks(), type::target_type(), value::type(), TYPE_CONST, TYPE_VOLATILE, types_equal(), value_as_long(), and VOID_PTR_CONVERSION_BADNESS.
Referenced by rank_one_type().
|
static |
Definition at line 4641 of file gdbtypes.c.
References type::code(), INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, and INTEGER_CONVERSION_BADNESS.
Referenced by rank_one_type().
|
static |
Definition at line 4753 of file gdbtypes.c.
References type::code(), type::field(), INCOMPATIBLE_TYPE_BADNESS, rank_one_type(), and field::type().
Referenced by rank_one_type().
|
static |
Definition at line 4733 of file gdbtypes.c.
References BASE_CONVERSION_BADNESS, type::code(), distance_to_ancestor(), INCOMPATIBLE_TYPE_BADNESS, rank::subrank, and sum_ranks().
Referenced by rank_one_type().
void recursive_dump_type | ( | struct type * | type, |
int | spaces ) |
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().
|
static |
Definition at line 2347 of file gdbtypes.c.
References check_typedef(), type::code(), copy_dynamic_prop_list(), copy_type(), dwarf2_evaluate_property(), dynamic_array_type(), objfile::objfile_obstack, type::objfile_owner(), resolve_dynamic_array_or_string_1(), dynamic_prop::set_const_val(), type::set_target_type(), type::target_type(), type, TYPE_MAIN_TYPE, TYPE_RANK_PROP, and value.
Referenced by resolve_dynamic_type_internal().
|
static |
Definition at line 2254 of file gdbtypes.c.
References field::bitsize(), check_typedef(), type::code(), copy_type(), create_array_type_with_stride(), dwarf2_evaluate_property(), type::dyn_prop(), DYN_PROP_BYTE_STRIDE, type::field(), type::index_type(), type::name(), type::remove_dyn_prop(), resolve_dynamic_array_or_string_1(), resolve_dynamic_range(), dynamic_prop::set_const_val(), type_allocator::SMASH, type::target_type(), TYPE_ALLOCATED_PROP, TYPE_ASSOCIATED_PROP, and value.
Referenced by resolve_dynamic_array_or_string(), and resolve_dynamic_array_or_string_1().
|
static |
Definition at line 2166 of file gdbtypes.c.
References type::arch(), range_bounds::bias, type::bounds(), type::code(), dynamic_prop::const_val(), create_range_type_with_stride(), dwarf2_evaluate_property(), range_bounds::flag_bound_evaluated, range_bounds::flag_is_byte_stride, range_bounds::flag_upper_bound_is_count, gdbarch_addressable_memory_unit_size(), range_bounds::high, range_bounds::low, type::name(), resolve_dynamic_type_internal(), dynamic_prop::set_const_val(), type::set_name(), dynamic_prop::set_undefined(), range_bounds::stride, type::target_type(), and value.
Referenced by resolve_dynamic_array_or_string_1(), and resolve_dynamic_type_internal().
|
static |
Definition at line 2632 of file gdbtypes.c.
References property_addr_info::addr, dynamic_prop::baton(), field::bitsize(), check_typedef(), type::code(), compute_variant_fields(), type::copy_fields(), copy_type(), current_language, dwarf2_evaluate_property(), type::dyn_prop(), DYN_PROP_VARIANT_PARTS, type::field(), FIELD_LOC_KIND_BITPOS, FIELD_LOC_KIND_DWARF_BLOCK, field::is_static(), dynamic_prop::kind(), language_defn::la_language, language_fortran, type::length(), field::loc_bitpos(), field::loc_dwarf_block(), field::loc_kind(), dwarf2_property_baton::locexpr, lookup_pointer_type(), property_addr_info::next, type::num_fields(), PROP_VARIANT_PARTS, dwarf2_property_baton::property_type, resolve_dynamic_type_internal(), type::set_length(), field::set_loc_bitpos(), dynamic_prop::set_locexpr(), dynamic_prop::set_original_type(), type::set_target_type(), field::set_type(), property_addr_info::type, field::type(), property_addr_info::valaddr, and dynamic_prop::variant_parts().
Referenced by resolve_dynamic_type_internal().
struct type * resolve_dynamic_type | ( | struct type * | type, |
gdb::array_view< const gdb_byte > | valaddr, | ||
CORE_ADDR | addr, | ||
const frame_info_ptr * | frame = nullptr ) |
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().
|
static |
Definition at line 2747 of file gdbtypes.c.
References property_addr_info::addr, check_typedef(), type::code(), copy_type(), current_language, dwarf2_evaluate_property(), DYN_PROP_BYTE_SIZE, extract_typed_address(), fortran_adjust_dynamic_array_base_address_hack(), is_dynamic_type_internal(), language_defn::la_language, language_fortran, property_addr_info::next, read_memory_typed_address(), type::remove_dyn_prop(), resolve_dynamic_array_or_string(), resolve_dynamic_range(), resolve_dynamic_struct(), resolve_dynamic_type_internal(), resolve_dynamic_union(), dynamic_prop::set_const_val(), type::set_length(), type::set_target_type(), type::target_type(), property_addr_info::type, type, TYPE_DATA_LOCATION, TYPE_DYNAMIC_LENGTH, property_addr_info::valaddr, and value.
Referenced by resolve_dynamic_range(), resolve_dynamic_struct(), resolve_dynamic_type(), resolve_dynamic_type_internal(), and resolve_dynamic_union().
|
static |
Definition at line 2440 of file gdbtypes.c.
References check_typedef(), type::code(), type::copy_fields(), copy_type(), type::field(), field::is_static(), type::length(), type::num_fields(), resolve_dynamic_type_internal(), type::set_length(), field::set_type(), and field::type().
Referenced by resolve_dynamic_type_internal().
|
static |
Definition at line 3130 of file gdbtypes.c.
References builtin_type(), builtin_type::builtin_void, gdb_stderr, type::length(), null_stream, parse_and_eval_type(), and type.
Referenced by check_stub_method().
bool set_type_align | ( | struct type * | type, |
ULONGEST | align ) |
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 182 of file gdbtypes.c.
References code, INIT_CPLUS_SPECIFIC, INIT_FIXED_POINT_SPECIFIC, INIT_FUNC_SPECIFIC, type::set_code(), TYPE_SPECIFIC_FIELD, and TYPE_SPECIFIC_FLOATFORMAT.
Referenced by init_complex_type(), and type_allocator::new_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().
void set_type_vptr_fieldno | ( | struct type * | type, |
int | fieldno ) |
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().
|
static |
Definition at line 149 of file gdbtypes.c.
References gdb_printf().
|
static |
Definition at line 161 of file gdbtypes.c.
References gdb_printf().
|
static |
Definition at line 171 of file gdbtypes.c.
References gdb_printf().
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().
void smash_to_method_type | ( | struct type * | type, |
struct type * | self_type, | ||
struct type * | to_type, | ||
struct field * | args, | ||
int | nargs, | ||
int | varargs ) |
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().
|
static |
Definition at line 343 of file gdbtypes.c.
References type::arch(), type::arch_owner(), type::is_objfile_owned(), type::objfile_owner(), type::set_owner(), type, TYPE_CHAIN, and TYPE_MAIN_TYPE.
Referenced by make_function_type(), make_pointer_type(), make_reference_type(), smash_to_memberptr_type(), smash_to_method_type(), and smash_to_methodptr_type().
|
static |
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().
unsigned type_align | ( | struct type * | type | ) |
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().
enum bfd_endian type_byte_order | ( | const struct type * | type | ) |
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().
unsigned int type_length_units | ( | struct type * | type | ) |
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().
const char * type_name_or_error | ( | struct type * | type | ) |
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().
int type_not_allocated | ( | const struct type * | type | ) |
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().
int type_not_associated | ( | const struct type * | type | ) |
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().
|
static |
Definition at line 5452 of file gdbtypes.c.
References type_pair::old.
Referenced by create_copied_types_hash().
|
static |
Definition at line 5444 of file gdbtypes.c.
References type_pair::old.
Referenced by create_copied_types_hash().
unsigned type_raw_align | ( | struct type * | type | ) |
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().
|
static |
Definition at line 1274 of file gdbtypes.c.
References type::bit_stride(), field::bitsize(), type::bounds(), check_typedef(), type::code(), type::dyn_prop(), DYN_PROP_BYTE_STRIDE, type::field(), get_array_bounds(), get_discrete_bounds(), has_static_range(), type::index_type(), type::is_multi_dimensional(), type::length(), field::set_bitsize(), type::set_length(), type::target_type(), type_not_allocated(), and type_not_associated().
Referenced by check_typedef(), and create_array_type_with_stride().
|
static |
const struct rank BASE_CONVERSION_BADNESS = {2,0} |
Badness of converting derived to base class.
Definition at line 73 of file gdbtypes.c.
Referenced by rank_one_type_parm_struct().
const struct rank BASE_PTR_CONVERSION_BADNESS = {1,0} |
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().
const struct rank BOOL_CONVERSION_BADNESS = {3,0} |
Badness of conversion to boolean.
Definition at line 72 of file gdbtypes.c.
Referenced by rank_one_type_parm_bool().
const struct cplus_struct_type cplus_struct_default = { } |
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().
const struct rank CV_CONVERSION_BADNESS = {1, 0} |
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().
|
static |
Definition at line 5077 of file gdbtypes.c.
Referenced by recursive_dump_type().
const struct rank EXACT_MATCH_BADNESS = {0,0} |
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().
|
static |
Definition at line 5829 of file gdbtypes.c.
Referenced by allocate_fixed_point_type_info().
const struct rank FLOAT_CONVERSION_BADNESS = {2,0} |
Badness of floating conversion.
Definition at line 69 of file gdbtypes.c.
Referenced by rank_one_type_parm_float().
const struct rank FLOAT_PROMOTION_BADNESS = {1,0} |
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().
const struct floatformat* floatformats_arm_ext[BFD_ENDIAN_UNKNOWN] |
Definition at line 109 of file gdbtypes.c.
Referenced by arm_ext_type(), and make_gdb_type().
const struct floatformat* floatformats_bfloat16[BFD_ENDIAN_UNKNOWN] |
Definition at line 129 of file gdbtypes.c.
Referenced by i386_gdbarch_init(), and make_gdb_type().
const struct floatformat* floatformats_i387_ext[BFD_ENDIAN_UNKNOWN] |
Definition at line 101 of file gdbtypes.c.
Referenced by i386_gdbarch_init(), ia64_gdbarch_init(), and make_gdb_type().
const struct floatformat* floatformats_ia64_spill[BFD_ENDIAN_UNKNOWN] |
Definition at line 113 of file gdbtypes.c.
const struct floatformat* floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN] |
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().
const struct floatformat* floatformats_ieee_double[BFD_ENDIAN_UNKNOWN] |
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().
const struct floatformat* floatformats_ieee_double_littlebyte_bigword[BFD_ENDIAN_UNKNOWN] |
Definition at line 97 of file gdbtypes.c.
Referenced by arm_gdbarch_init(), and sh_littlebyte_bigword_type().
const struct floatformat* floatformats_ieee_half[BFD_ENDIAN_UNKNOWN] |
Definition at line 81 of file gdbtypes.c.
Referenced by opencl_language::language_arch_info(), and make_gdb_type().
const struct floatformat* floatformats_ieee_quad[BFD_ENDIAN_UNKNOWN] |
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().
const struct floatformat* floatformats_ieee_single[BFD_ENDIAN_UNKNOWN] |
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().
const struct floatformat* floatformats_m68881_ext[BFD_ENDIAN_UNKNOWN] |
Definition at line 105 of file gdbtypes.c.
Referenced by m68881_ext_type(), and m68k_gdbarch_init().
const struct floatformat* floatformats_vax_d[BFD_ENDIAN_UNKNOWN] |
Definition at line 121 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
const struct floatformat* floatformats_vax_f[BFD_ENDIAN_UNKNOWN] |
Definition at line 117 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
|
static |
Definition at line 5967 of file gdbtypes.c.
Referenced by builtin_type().
const struct gnat_aux_type gnat_aux_default |
Definition at line 3307 of file gdbtypes.c.
Referenced by allocate_gnat_aux_type().
const struct rank INCOMPATIBLE_TYPE_BADNESS = {INVALID_CONVERSION,0} |
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().
const struct rank INT_FLOAT_CONVERSION_BADNESS = {2,0} |
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().
const struct rank INTEGER_CONVERSION_BADNESS = {2,0} |
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().
const struct rank INTEGER_PROMOTION_BADNESS = {1,0} |
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().
const struct rank LENGTH_MISMATCH_BADNESS = {INVALID_CONVERSION,0} |
Badness if parameter list length doesn't match arg list length.
Definition at line 57 of file gdbtypes.c.
Referenced by rank_function().
const struct rank NS_INTEGER_POINTER_CONVERSION_BADNESS = {3,0} |
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().
const struct rank NS_POINTER_CONVERSION_BADNESS = {10,0} |
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().
const struct rank NULL_POINTER_CONVERSION_BADNESS = {2,0} |
Definition at line 76 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().
|
static |
Definition at line 136 of file gdbtypes.c.
Referenced by check_typedef().
unsigned int overload_debug = 0 |
Definition at line 140 of file gdbtypes.c.
Referenced by find_oload_champ(), and rank_one_type().
const struct rank REFERENCE_CONVERSION_BADNESS = {2,0} |
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().
const struct rank REFERENCE_SEE_THROUGH_BADNESS = {0,1} |
Definition at line 75 of file gdbtypes.c.
Referenced by rank_one_type().
|
static |
Definition at line 144 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().
const struct rank TOO_FEW_PARAMS_BADNESS = {INVALID_CONVERSION,0} |
Dummy badness value for nonexistent parameter positions.
Definition at line 59 of file gdbtypes.c.
Referenced by rank_function().
const struct rank VOID_PTR_CONVERSION_BADNESS = {2,0} |
Badness of conversion of pointer to void pointer.
Definition at line 71 of file gdbtypes.c.
Referenced by rank_one_type_parm_ptr().