GDB (xrefs)
|
#include "defs.h"
#include "gdb_string.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 "gdb_assert.h"
#include "hashtab.h"
#include "exceptions.h"
#include "cp-support.h"
Go to the source code of this file.
Classes | |
struct | type_pair |
Functions | |
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) |
struct type * | alloc_type (struct objfile *objfile) |
struct type * | alloc_type_arch (struct gdbarch *gdbarch) |
struct type * | alloc_type_copy (const struct type *type) |
struct gdbarch * | get_type_arch (const 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) |
struct type * | lookup_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) |
int | address_space_name_to_int (struct gdbarch *gdbarch, char *space_identifier) |
const char * | address_space_int_to_name (struct gdbarch *gdbarch, int space_flag) |
static struct type * | make_qualified_type (struct type *type, int new_flags, struct type *storage) |
struct type * | make_type_with_address_space (struct type *type, int 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) |
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) |
struct type * | allocate_stub_method (struct type *type) |
struct type * | create_range_type (struct type *result_type, struct type *index_type, LONGEST low_bound, LONGEST high_bound) |
int | get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp) |
int | get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound) |
struct type * | create_array_type (struct type *result_type, 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 (struct type *result_type, 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 (struct type *result_type, struct type *domain_type) |
void | make_vector_type (struct type *array_type) |
struct type * | init_vector_type (struct type *elt_type, int n) |
void | smash_to_memberptr_type (struct type *type, struct type *domain, 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 *domain, struct type *to_type, struct field *args, int nargs, int varargs) |
const char * | type_name_no_tag (const struct type *type) |
const char * | type_name_no_tag_or_error (struct type *type) |
struct type * | lookup_typename (const struct language_defn *language, struct gdbarch *gdbarch, const char *name, const struct block *block, int noerr) |
struct type * | lookup_unsigned_typename (const struct language_defn *language, struct gdbarch *gdbarch, const char *name) |
struct type * | lookup_signed_typename (const struct language_defn *language, struct gdbarch *gdbarch, 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 (char *name, struct type *type, const struct block *block) |
struct type * | lookup_struct_elt_type (struct type *type, const char *name, int noerr) |
int | get_vptr_fieldno (struct type *type, struct type **basetypep) |
static void | stub_noname_complaint (void) |
struct type * | check_typedef (struct type *type) |
static struct type * | safe_parse_type (struct gdbarch *gdbarch, 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) |
struct type * | init_type (enum type_code code, int length, int flags, const char *name, struct objfile *objfile) |
int | can_dereference (struct type *t) |
int | is_integral_type (struct type *t) |
static int | is_scalar_type (struct type *type) |
int | is_scalar_type_recursive (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 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) |
struct rank | sum_ranks (struct rank a, struct rank b) |
int | compare_ranks (struct rank a, struct rank b) |
int | compare_badness (struct badness_vector *a, struct badness_vector *b) |
struct badness_vector * | rank_function (struct type **parms, int nparms, struct value **args, int nargs) |
static int | integer_types_same_name_p (const char *first, const char *second) |
int | types_equal (struct type *a, struct type *b) |
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_arg_types (struct field *args, int nargs, int spaces) |
int | field_is_static (struct field *f) |
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) |
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_t | create_copied_types_hash (struct objfile *objfile) |
struct type * | copy_type_recursive (struct objfile *objfile, struct type *type, htab_t copied_types) |
struct type * | copy_type (const struct type *type) |
struct type * | arch_type (struct gdbarch *gdbarch, enum type_code code, int length, char *name) |
struct type * | arch_integer_type (struct gdbarch *gdbarch, int bit, int unsigned_p, char *name) |
struct type * | arch_character_type (struct gdbarch *gdbarch, int bit, int unsigned_p, char *name) |
struct type * | arch_boolean_type (struct gdbarch *gdbarch, int bit, int unsigned_p, char *name) |
struct type * | arch_float_type (struct gdbarch *gdbarch, int bit, char *name, const struct floatformat **floatformats) |
struct type * | arch_complex_type (struct gdbarch *gdbarch, char *name, struct type *target_type) |
struct type * | arch_flags_type (struct gdbarch *gdbarch, char *name, int length) |
void | append_flags_type_flag (struct type *type, int bitpos, char *name) |
struct type * | arch_composite_type (struct gdbarch *gdbarch, char *name, enum type_code code) |
struct field * | append_composite_type_field_raw (struct type *t, char *name, struct type *field) |
void | append_composite_type_field_aligned (struct type *t, char *name, struct type *field, int alignment) |
void | append_composite_type_field (struct type *t, char *name, struct type *field) |
struct builtin_type * | builtin_type (struct gdbarch *gdbarch) |
static void * | gdbtypes_post_init (struct gdbarch *gdbarch) |
struct objfile_type * | objfile_type (struct objfile *objfile) |
void | _initialize_gdbtypes (void) |
Variables | |
struct rank | LENGTH_MISMATCH_BADNESS = {100,0} |
struct rank | TOO_FEW_PARAMS_BADNESS = {100,0} |
struct rank | INCOMPATIBLE_TYPE_BADNESS = {100,0} |
struct rank | EXACT_MATCH_BADNESS = {0,0} |
struct rank | INTEGER_PROMOTION_BADNESS = {1,0} |
struct rank | FLOAT_PROMOTION_BADNESS = {1,0} |
struct rank | BASE_PTR_CONVERSION_BADNESS = {1,0} |
struct rank | INTEGER_CONVERSION_BADNESS = {2,0} |
struct rank | FLOAT_CONVERSION_BADNESS = {2,0} |
struct rank | INT_FLOAT_CONVERSION_BADNESS = {2,0} |
struct rank | VOID_PTR_CONVERSION_BADNESS = {2,0} |
struct rank | BOOL_CONVERSION_BADNESS = {3,0} |
struct rank | BASE_CONVERSION_BADNESS = {2,0} |
struct rank | REFERENCE_CONVERSION_BADNESS = {2,0} |
struct rank | NULL_POINTER_CONVERSION_BADNESS = {2,0} |
struct rank | NS_POINTER_CONVERSION_BADNESS = {10,0} |
struct rank | NS_INTEGER_POINTER_CONVERSION_BADNESS = {3,0} |
struct floatformat * | floatformats_ieee_half [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ieee_single [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ieee_double [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ieee_double_littlebyte_bigword [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_i387_ext [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_m68881_ext [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_arm_ext [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ia64_spill [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ia64_quad [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_vax_f [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_vax_d [BFD_ENDIAN_UNKNOWN] |
struct floatformat * | floatformats_ibm_long_double [BFD_ENDIAN_UNKNOWN] |
static int | opaque_type_resolution = 1 |
unsigned int | overload_debug = 0 |
static int | strict_type_checking = 1 |
struct cplus_struct_type | cplus_struct_default = { } |
struct gnat_aux_type | gnat_aux_default |
static struct obstack | dont_print_type_obstack |
static struct gdbarch_data * | gdbtypes_data |
static struct objfile_data * | objfile_type_data |
initialize_file_ftype | _initialize_gdbtypes |
void _initialize_gdbtypes | ( | void | ) |
Definition at line 4103 of file gdbtypes.c.
References _, _initialize_gdbtypes, add_setshow_boolean_cmd(), add_setshow_zuinteger_cmd(), class_support, gdbarch_data_register_post_init(), gdbtypes_post_init(), no_class, objfile_type_data, opaque_type_resolution, overload_debug, setchecklist, setdebuglist, setlist, show_opaque_type_resolution(), show_overload_debug(), show_strict_type_checking(), showchecklist, showdebuglist, showlist, and strict_type_checking.
const char* address_space_int_to_name | ( | struct gdbarch * | gdbarch, |
int | space_flag | ||
) |
Definition at line 537 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().
int address_space_name_to_int | ( | struct gdbarch * | gdbarch, |
char * | space_identifier | ||
) |
Definition at line 515 of file gdbtypes.c.
References _, error(), 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 insert_type_address_space().
struct type* alloc_type | ( | struct objfile * | objfile | ) | [read] |
Definition at line 165 of file gdbtypes.c.
References gdb_assert, objfile::objfile_obstack, OBJSTAT, OBSTACK_ZALLOC, type, TYPE_CHAIN, TYPE_CODE, TYPE_CODE_UNDEF, TYPE_MAIN_TYPE, TYPE_OBJFILE_OWNED, TYPE_OWNER, and TYPE_VPTR_FIELDNO.
Referenced by alloc_type_copy(), coff_alloc_type(), dbx_alloc_type(), dwarf2_add_member_fn(), init_type(), new_type(), quirk_gcc_member_function_pointer(), read_enumeration_type(), read_structure_type(), read_tag_ptr_to_member_type(), and type_from_class().
struct type* alloc_type_arch | ( | struct gdbarch * | gdbarch | ) | [read] |
Definition at line 194 of file gdbtypes.c.
References gdb_assert, type, TYPE_CHAIN, TYPE_CODE, TYPE_CODE_UNDEF, TYPE_MAIN_TYPE, TYPE_OBJFILE_OWNED, TYPE_OWNER, TYPE_VPTR_FIELDNO, and XZALLOC.
Referenced by alloc_type_copy(), arch_type(), check_typedef(), and copy_type_recursive().
struct type* alloc_type_copy | ( | const struct type * | type | ) | [read] |
Definition at line 222 of file gdbtypes.c.
References alloc_type(), alloc_type_arch(), TYPE_OBJFILE_OWNED, and TYPE_OWNER.
Referenced by ada_template_to_fixed_record_type_1(), ada_type_of_array(), allocate_stub_method(), constrained_packed_array_type(), copy_type(), create_array_type(), create_range_type(), create_set_type(), empty_record(), lookup_memberptr_type(), lookup_methodptr_type(), make_function_type(), make_pointer_type(), make_reference_type(), template_to_static_fixed_type(), to_fixed_array_type(), to_fixed_range_type(), and to_record_with_fixed_variant_part().
static struct type* alloc_type_instance | ( | struct type * | oldtype | ) | [static, read] |
Definition at line 247 of file gdbtypes.c.
References OBSTACK_ZALLOC, type, TYPE_CHAIN, TYPE_MAIN_TYPE, TYPE_OBJFILE, TYPE_OBJFILE_OWNED, and XZALLOC.
Referenced by make_qualified_type().
void allocate_cplus_struct_type | ( | struct type * | type | ) |
Definition at line 1925 of file gdbtypes.c.
References HAVE_CPLUS_STRUCT, TYPE_ALLOC, TYPE_RAW_CPLUS_SPECIFIC, TYPE_SPECIFIC_CPLUS_STUFF, and TYPE_SPECIFIC_FIELD.
void allocate_gnat_aux_type | ( | struct type * | type | ) |
Definition at line 1945 of file gdbtypes.c.
References TYPE_ALLOC, TYPE_GNAT_SPECIFIC, TYPE_SPECIFIC_FIELD, and TYPE_SPECIFIC_GNAT_STUFF.
struct type* allocate_stub_method | ( | struct type * | type | ) | [read] |
Definition at line 771 of file gdbtypes.c.
References alloc_type_copy(), type, TYPE_CODE, TYPE_CODE_METHOD, TYPE_LENGTH, TYPE_STUB, and TYPE_TARGET_TYPE.
Referenced by read_type().
void append_composite_type_field | ( | struct type * | t, |
char * | name, | ||
struct type * | field | ||
) |
Definition at line 3803 of file gdbtypes.c.
References append_composite_type_field_aligned().
Referenced by aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), arm_neon_double_type(), arm_neon_quad_type(), i386_mmx_type(), i386_ymm_type(), linux_get_siginfo_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), spu_builtin_type_vec128(), tdesc_gdb_type(), and windows_get_tlb_type().
void append_composite_type_field_aligned | ( | struct type * | t, |
char * | name, | ||
struct type * | field, | ||
int | alignment | ||
) |
Definition at line 3763 of file gdbtypes.c.
References append_composite_type_field_raw(), FIELD_BITPOS, FIELD_TYPE, SET_FIELD_BITPOS, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, and TYPE_NFIELDS.
Referenced by append_composite_type_field(), and linux_get_siginfo_type().
struct field* append_composite_type_field_raw | ( | struct type * | t, |
char * | name, | ||
struct type * | field | ||
) | [read] |
Definition at line 3744 of file gdbtypes.c.
References FIELD_NAME, FIELD_TYPE, memset(), name, TYPE_FIELDS, TYPE_NFIELDS, and xrealloc().
Referenced by append_composite_type_field_aligned(), and tdesc_gdb_type().
void append_flags_type_flag | ( | struct type * | type, |
int | bitpos, | ||
char * | name | ||
) |
Definition at line 3706 of file gdbtypes.c.
References gdb_assert, SET_FIELD_BITPOS, TYPE_CODE, TYPE_CODE_FLAGS, TYPE_FIELD, TYPE_FIELD_NAME, and TYPE_NFIELDS.
Referenced by m68k_ps_type(), sparc64_fprs_type(), sparc64_fsr_type(), sparc64_pstate_type(), sparc_fsr_type(), sparc_psr_type(), and tdesc_gdb_type().
struct type* arch_boolean_type | ( | struct gdbarch * | gdbarch, |
int | bit, | ||
int | unsigned_p, | ||
char * | name | ||
) | [read] |
Definition at line 3634 of file gdbtypes.c.
References arch_type(), TYPE_CODE_BOOL, and TYPE_UNSIGNED.
Referenced by build_fortran_types(), build_go_types(), build_java_types(), build_m2_types(), and build_opencl_types().
struct type* arch_character_type | ( | struct gdbarch * | gdbarch, |
int | bit, | ||
int | unsigned_p, | ||
char * | name | ||
) | [read] |
Definition at line 3617 of file gdbtypes.c.
References arch_type(), TYPE_CODE_CHAR, and TYPE_UNSIGNED.
Referenced by build_go_types(), build_java_types(), build_m2_types(), and gdbtypes_post_init().
struct type* arch_complex_type | ( | struct gdbarch * | gdbarch, |
char * | name, | ||
struct type * | target_type | ||
) | [read] |
Definition at line 3674 of file gdbtypes.c.
References arch_type(), TYPE_CODE_COMPLEX, TYPE_LENGTH, and TYPE_TARGET_TYPE.
Referenced by build_fortran_types(), build_go_types(), and gdbtypes_post_init().
struct type* arch_composite_type | ( | struct gdbarch * | gdbarch, |
char * | name, | ||
enum type_code | code | ||
) | [read] |
Definition at line 3728 of file gdbtypes.c.
References arch_type(), gdb_assert, INIT_CPLUS_SPECIFIC, name, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_TAG_NAME.
Referenced by aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), arm_neon_double_type(), arm_neon_quad_type(), i386_mmx_type(), i386_ymm_type(), linux_get_siginfo_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), spu_builtin_type_vec128(), tdesc_gdb_type(), and windows_get_tlb_type().
struct type* arch_flags_type | ( | struct gdbarch * | gdbarch, |
char * | name, | ||
int | length | ||
) | [read] |
Definition at line 3689 of file gdbtypes.c.
References arch_type(), type, TYPE_CODE_FLAGS, TYPE_FIELDS, TYPE_NFIELDS, TYPE_UNSIGNED, and TYPE_ZALLOC.
Referenced by m68k_ps_type(), sparc64_fprs_type(), sparc64_fsr_type(), sparc64_pstate_type(), sparc_fsr_type(), sparc_psr_type(), and tdesc_gdb_type().
struct type* arch_float_type | ( | struct gdbarch * | gdbarch, |
int | bit, | ||
char * | name, | ||
const struct floatformat ** | floatformats | ||
) | [read] |
Definition at line 3652 of file gdbtypes.c.
References arch_type(), gdb_assert, TYPE_CODE_FLT, and TYPE_FLOATFORMAT.
Referenced by ada_language_arch_info(), arm_ext_type(), build_fortran_types(), build_go_types(), build_java_types(), build_m2_types(), build_opencl_types(), gdbtypes_post_init(), ia64_ext_type(), m68881_ext_type(), and tdesc_gdb_type().
struct type* arch_integer_type | ( | struct gdbarch * | gdbarch, |
int | bit, | ||
int | unsigned_p, | ||
char * | name | ||
) | [read] |
Definition at line 3598 of file gdbtypes.c.
References arch_type(), TYPE_CODE_INT, TYPE_NOSIGN, and TYPE_UNSIGNED.
Referenced by ada_language_arch_info(), build_fortran_types(), build_gdb_vtable_type(), build_go_types(), build_java_types(), build_m2_types(), build_opencl_types(), dwarf_expr_address_type(), gdbtypes_post_init(), linux_get_siginfo_type(), linux_make_mappings_corefile_notes(), make_types(), rl78_gdbarch_init(), windows_get_tlb_type(), and xtensa_register_type().
struct type* arch_type | ( | struct gdbarch * | gdbarch, |
enum type_code | code, | ||
int | length, | ||
char * | name | ||
) | [read] |
Definition at line 3578 of file gdbtypes.c.
References alloc_type_arch(), code, type::length, type, TYPE_CODE, TYPE_LENGTH, and TYPE_NAME.
Referenced by ada_language_arch_info(), arch_boolean_type(), arch_character_type(), arch_complex_type(), arch_composite_type(), arch_flags_type(), arch_float_type(), arch_integer_type(), avr_gdbarch_init(), build_fortran_types(), build_gdb_vtable_type(), build_go_types(), build_java_types(), build_opencl_types(), build_std_type_info_type(), finalize_symtab(), gdbtypes_post_init(), linux_get_siginfo_type(), make_types(), rl78_gdbarch_init(), and windows_get_tlb_type().
struct builtin_type* builtin_type | ( | struct gdbarch * | gdbarch | ) | [read] |
Definition at line 3812 of file gdbtypes.c.
References gdbarch_data().
Referenced by aarch64_push_dummy_call(), aarch64_vnb_type(), aarch64_vnd_type(), aarch64_vnh_type(), aarch64_vnq_type(), aarch64_vns_type(), ada_language_arch_info(), ada_tag_value_at_base_address(), ada_tasks_inferior_data_sniffer(), ada_val_print_1(), alpha_push_dummy_call(), alpha_register_type(), alpha_store_return_value(), amd64_x32_pseudo_register_type(), arm_neon_double_type(), arm_neon_quad_type(), arm_register_type(), assign_component(), avr_register_type(), bfin_register_type(), binop_promote(), bsd_uthread_read_memory_address(), build_gdb_vtable_type(), build_std_type_info_type(), c_language_arch_info(), call_function_by_hand(), call_site_to_target_addr(), compile_probe_arg(), cplus_language_arch_info(), cris_register_type(), crisv32_register_type(), darwin_current_sos(), darwin_load_image_infos(), darwin_read_exec_load_addr(), do_examine(), dwarf_get_base_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(), evaluate_subexp_for_sizeof(), evaluate_subexp_standard(), find_command(), float_type_from_length(), frv_register_type(), gdb_update_mem(), gdbtypes_post_init(), gen_expr(), gen_expr_binop_rest(), gen_integral_promotions(), get_running_thread_id(), get_signed_type(), get_unsigned_type(), gnuv3_baseclass_offset(), gnuv3_decode_method_ptr(), h8300_register_type(), handle_stap_probe(), hppa32_convert_from_func_ptr_addr(), hppa32_register_type(), hppa64_register_type(), hppa_skip_trampoline_code(), i386_mmx_type(), i386_pseudo_register_type(), i386_ymm_type(), ia64_hpux_get_load_info_addr(), ia64_register_type(), iq2000_register_type(), jit_read_code_entry(), jit_read_descriptor(), ld_so_xfer_auxv(), lm32_push_dummy_call(), lm32_register_type(), lm_addr(), lm_info_read(), lookup_array_range_type(), lookup_child_selector(), lookup_objc_class(), m32r_register_type(), m68hc11_register_type(), m68k_register_type(), m88k_register_type(), mep_register_type(), mi_cmd_data_read_memory(), microblaze_register_type(), mips_pseudo_register_type(), mips_register_type(), mn10300_register_type(), moxie_register_type(), msp430_register_type(), msp430x_register_type(), mt_copro_register_type(), mt_register_type(), nios2_register_type(), open_symbol_file_object(), parse_c_float(), parse_go_float(), pascal_language_arch_info(), print_scalar_formatted(), printf_decfloat(), proc_watchpoint_address(), processInt(), procfs_can_use_hw_breakpoint(), resolve(), resolve_msgsend(), resolve_msgsend_stret(), resolve_msgsend_super(), resolve_msgsend_super_stret(), rs6000_aix_extract_ld_info(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), rs6000_pseudo_register_type(), rx_register_type(), s390_pseudo_register_type(), safe_parse_type(), scan_dyntag(), score_register_type(), set_next_address(), sh64_register_type(), sh_default_register_type(), sh_sh2a_register_type(), sh_sh3e_register_type(), sh_sh4_register_type(), solib_svr4_r_brk(), solib_svr4_r_ldsomap(), solib_svr4_r_map(), sparc32_register_type(), sparc64_register_type(), spu_builtin_type_vec128(), spu_register_type(), stap_get_expected_argument_type(), stap_modify_semaphore(), tdesc_gdb_type(), tdesc_register_type(), tic6x_register_type(), tilegx_register_type(), unknown_language_arch_info(), unop_promote(), v850_register_type(), value_arg_coerce(), value_get_print_value(), value_nsstring(), value_of_builtin_frame_fp_reg(), value_of_builtin_frame_pc_reg(), vax_register_type(), xstormy16_register_type(), xtensa_push_dummy_call(), and xtensa_register_type().
int can_dereference | ( | struct type * | t | ) |
Definition at line 2022 of file gdbtypes.c.
References CHECK_TYPEDEF, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_VOID, and TYPE_TARGET_TYPE.
Referenced by print_value_flags().
static void check_stub_method | ( | struct type * | type, |
int | method_id, | ||
int | signature_id | ||
) | [static] |
Definition at line 1764 of file gdbtypes.c.
References _, error(), gdb_demangle(), gdb_mangle_name(), get_type_arch(), lookup_pointer_type(), p, safe_parse_type(), strchr(), type, TYPE_ALLOC, TYPE_DOMAIN_TYPE, TYPE_FIELDS, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_STATIC_P, TYPE_FN_FIELD_STUB, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELDLIST1, TYPE_NFIELDS, TYPE_STUB, TYPE_VARARGS, and xfree().
Referenced by check_stub_method_group().
void check_stub_method_group | ( | struct type * | type, |
int | method_id | ||
) |
Definition at line 1883 of file gdbtypes.c.
References check_stub_method(), len, TYPE_FN_FIELD_PHYSNAME, TYPE_FN_FIELD_STUB, TYPE_FN_FIELDLIST1, TYPE_FN_FIELDLIST_LENGTH, and TYPE_FN_FIELDLIST_NAME.
Referenced by find_method_list(), gnuv3_find_method_in(), and search_struct_method().
struct type* check_typedef | ( | struct type * | type | ) | [read] |
Definition at line 1523 of file gdbtypes.c.
References alloc_type_arch(), check_typedef(), currently_reading_symtab, gdb_assert, get_type_arch(), type::instance_flags, len, LONGEST, lookup_symbol(), lookup_transparent_type(), make_qualified_type(), name, opaque_type_resolution, STRUCT_DOMAIN, stub_noname_complaint(), SYMBOL_TYPE, type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_RANGE, TYPE_CODE_TYPEDEF, TYPE_HIGH_BOUND, TYPE_INDEX_TYPE, TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL, TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE, TYPE_INSTANCE_FLAGS, TYPE_IS_OPAQUE, TYPE_LENGTH, TYPE_LOW_BOUND, type_name_no_tag(), TYPE_NFIELDS, TYPE_OBJFILE, TYPE_STUB, TYPE_TARGET_STUB, TYPE_TARGET_TYPE, and ULONGEST.
Referenced by aarch64_extract_return_value(), aarch64_push_dummy_call(), aarch64_store_return_value(), aarch64_type_align(), ada_get_field_index(), ada_tasks_inferior_data_sniffer(), ada_val_print_1(), adjust_value_for_child_access(), alignment_of(), allocate_value_lazy(), alpha_push_dummy_call(), amd64_classify_aggregate(), arm_push_dummy_call(), arm_return_in_memory(), arm_type_align(), arm_vfp_abi_for_function(), arm_vfp_cprc_sub_candidate(), avr_push_dummy_call(), bfin_push_dummy_call(), binop_promote(), binop_types_user_defined_p(), c_get_string(), c_textual_element_type(), c_val_print(), c_value_of_variable(), c_value_print(), call_function_by_hand(), can_use_hardware_watchpoint(), check_condition(), check_parameter_typelist(), check_typedef(), classify_inner_name(), classify_type(), coerce_array(), coerce_ref(), coerce_ref_if_computed(), collect_symbol(), compute_vtable_size(), convert_char_literal(), cp_find_class_member(), cp_print_value(), create_range_type(), create_value(), decimal_from_integral(), default_read_var_value(), do_ppc_sysv_return_value(), do_search_struct_field(), dynamic_array_type(), encode_actions_1(), entry_data_value_coerce_ref(), evaluate_subexp_c(), evaluate_subexp_for_sizeof(), evaluate_subexp_java(), evaluate_subexp_modula2(), evaluate_subexp_opencl(), evaluate_subexp_standard(), evaluate_subexp_with_coercion(), extend_simple_arg(), f77_get_dynamic_length_of_aggregate(), f_val_print(), find_function_addr(), find_method(), find_overload_match(), find_size_for_pointer_math(), fp_register_arg_p(), frv_push_dummy_call(), gen_bitfield_ref(), gen_cast(), gen_deref(), gen_expr(), 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(), generic_val_print(), get_internalvar_integer(), get_symbol_field_type(), get_target_type(), get_type(), get_value_at(), get_value_type(), get_vptr_fieldno(), gnuv2_baseclass_offset(), gnuv2_virtual_fn_field(), 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(), hash_typedef_field(), hppa32_push_dummy_call(), i386_16_byte_align_p(), i386_darwin_arg_type_alignment(), i386_reg_struct_return_p(), i386_return_value(), ia64_push_dummy_call(), indirect_pieced_value(), inspect_type(), is_float_or_hfa_type_recurse(), is_hfa(), is_object_type(), is_scalar_type_recursive(), is_unique_ancestor_worker(), java_print_value_fields(), java_val_print(), list_arg_or_local(), list_args_or_locals(), lm32_push_dummy_call(), lookup_function_type_with_arguments(), lookup_symbol_file(), lval_func_check_any_valid(), lval_func_check_synthetic_pointer(), lval_func_check_validity(), lval_func_read(), lval_func_write(), m2_val_print(), m68k_svr4_return_value(), m88k_8_byte_align_p(), make_params(), make_symbol_overload_list_adl_namespace(), mi_print_value_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(), nios2_push_dummy_call(), opencl_component_ref(), opencl_logical_not(), opencl_relop(), opencl_value_cast(), pack_long(), pack_unsigned_long(), pascal_object_print_value(), pascal_printstr(), pascal_val_print(), ppc64_sysv_abi_push_dummy_call(), ppc64_sysv_abi_return_value(), ppc_sysv_abi_push_dummy_call(), ppc_sysv_use_opencl_abi(), print_formatted(), print_one_vtable(), print_symbol(), print_unpacked_pointer(), print_variable_at_address(), print_variable_or_computed(), ptrmath_type_p(), py_print_type(), py_print_value(), rank_one_type(), read_frame_register_value(), read_one_struct_field(), read_subrange_type(), read_tag_ptr_to_member_type(), require_rvalue(), resolve_subexp(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rx_push_dummy_call(), s390_push_dummy_call(), s390_return_value(), s390_value_from_register(), scalar_binop(), scope_info(), score_push_dummy_call(), search_struct_method(), set_internalvar(), sh_is_renesas_calling_convention(), slot_alignment_is_next_even(), sparc32_struct_return_from_sym(), sparc64_16_byte_align_p(), sparc64_extract_floating_fields(), sparc64_store_floating_fields(), spu_push_dummy_call(), spu_return_value(), tic6x_arg_type_alignment(), tic6x_push_dummy_call(), tlb_value_read(), type_from_class(), typecmp(), types_equal(), typy_get_sizeof(), typy_strip_typedefs(), typy_template_argument(), unop_promote(), unop_user_defined_p(), unpack_long(), update_watchpoint(), v850_eight_byte_align_p(), val_print(), val_print_array_elements(), val_print_packed_array_elements(), value_actual_type(), value_addr(), value_arg_coerce(), value_args_as_decimal(), value_binop(), value_cast(), value_cast_pointers(), value_cast_structs(), value_coerce_array(), value_coerce_to_target(), value_complement(), value_concat(), value_contents_equal(), value_dynamic_cast(), value_equal(), value_equal_contents(), value_f90_subarray(), value_fetch_lazy(), value_find_oload_method_list(), value_from_double(), value_from_pointer(), value_from_register(), value_in(), value_ind(), value_less(), value_logical_not(), value_must_coerce_to_target(), value_neg(), value_of_dwarf_reg_entry(), value_one(), value_pos(), value_primitive_field(), value_ptradd(), value_ptrdiff(), value_ref(), value_reinterpret_cast(), value_rtti_indirect_type(), value_slice(), value_struct_element_index(), value_struct_elt(), value_subscript(), value_subscripted_rvalue(), value_vector_widen(), value_x_binop(), value_x_unop(), vector_binop(), vector_relop(), watch_command_1(), and xtensa_push_dummy_call().
Definition at line 2113 of file gdbtypes.c.
References TYPE_MAIN_TYPE, and TYPE_NAME.
Referenced by distance_to_ancestor(), dynamic_cast_check_1(), dynamic_cast_check_2(), is_unique_ancestor_worker(), and value_dynamic_cast().
int compare_badness | ( | struct badness_vector * | a, |
struct badness_vector * | b | ||
) |
Definition at line 2300 of file gdbtypes.c.
References compare_ranks(), badness_vector::length, and badness_vector::rank.
Referenced by find_oload_champ(), and find_overload_match().
int compare_ranks | ( | struct rank | a, |
struct rank | b | ||
) |
Definition at line 2272 of file gdbtypes.c.
References rank::rank, and rank::subrank.
Referenced by classify_oload_match(), compare_badness(), and compare_parameters().
Definition at line 3557 of file gdbtypes.c.
References alloc_type_copy(), gdb_assert, memcpy(), new_type(), TYPE_INSTANCE_FLAGS, TYPE_LENGTH, TYPE_MAIN_TYPE, and TYPE_OBJFILE_OWNED.
Referenced by ada_to_fixed_type_1(), and read_tag_const_type().
struct type* copy_type_recursive | ( | struct objfile * | objfile, |
struct type * | type, | ||
htab_t | copied_types | ||
) | [read] |
Definition at line 3426 of file gdbtypes.c.
References _, alloc_type_arch(), copy_type_recursive(), FIELD_LOC_KIND_BITPOS, FIELD_LOC_KIND_ENUMVAL, FIELD_LOC_KIND_PHYSADDR, FIELD_LOC_KIND_PHYSNAME, gdb_assert, get_type_arch(), INIT_CPLUS_SPECIFIC, internal_error(), type_pair::new, new_type(), objfile::objfile_obstack, type_pair::old, SET_FIELD_BITPOS, SET_FIELD_ENUMVAL, SET_FIELD_PHYSADDR, SET_FIELD_PHYSNAME, type, TYPE_CODE, TYPE_CODE_FLT, TYPE_CODE_NAMESPACE, TYPE_CODE_RANGE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_ENUMVAL, TYPE_FIELD_LOC_KIND, TYPE_FIELD_NAME, TYPE_FIELD_STATIC_PHYSADDR, TYPE_FIELD_STATIC_PHYSNAME, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_FLOATFORMAT, TYPE_INSTANCE_FLAGS, TYPE_LENGTH, TYPE_MAIN_TYPE, TYPE_NAME, TYPE_NFIELDS, TYPE_OBJFILE, TYPE_OBJFILE_OWNED, TYPE_OWNER, TYPE_RANGE_DATA, TYPE_TAG_NAME, TYPE_TARGET_TYPE, TYPE_VPTR_BASETYPE, XCALLOC, and xmalloc().
Referenced by copy_type_recursive(), preserve_one_internalvar(), preserve_one_value(), and save_objfile_types().
struct type* create_array_type | ( | struct type * | result_type, |
struct type * | element_type, | ||
struct type * | range_type | ||
) | [read] |
Definition at line 942 of file gdbtypes.c.
References alloc_type_copy(), CHECK_TYPEDEF, get_discrete_bounds(), LONGEST, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_FIELDS, TYPE_INDEX_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_STUB, TYPE_TARGET_TYPE, TYPE_VPTR_FIELDNO, and TYPE_ZALLOC.
Referenced by ada_type_of_array(), ada_value_slice(), ada_value_slice_from_ptr(), constrained_packed_array_type(), create_string_type(), decode_type(), define_symbol(), empty_array(), lookup_array_range_type(), read_array_type(), to_fixed_array_type(), upgrade_type(), value_cast(), and value_slice().
htab_t create_copied_types_hash | ( | struct objfile * | objfile | ) |
Definition at line 3412 of file gdbtypes.c.
References dummy_obstack_deallocate(), hashtab_obstack_allocate(), objfile::objfile_obstack, type_pair_eq(), and type_pair_hash().
Referenced by preserve_values(), and save_objfile_types().
struct type* create_range_type | ( | struct type * | result_type, |
struct type * | index_type, | ||
LONGEST | low_bound, | ||
LONGEST | high_bound | ||
) | [read] |
Definition at line 795 of file gdbtypes.c.
References alloc_type_copy(), check_typedef(), TYPE_CODE, TYPE_CODE_RANGE, TYPE_HIGH_BOUND, TYPE_LENGTH, TYPE_LOW_BOUND, TYPE_RANGE_DATA, TYPE_STUB, TYPE_TARGET_STUB, TYPE_TARGET_TYPE, TYPE_UNSIGNED, and TYPE_ZALLOC.
Referenced by ada_type_of_array(), ada_value_slice(), ada_value_slice_from_ptr(), decode_type(), define_symbol(), empty_array(), lookup_array_range_type(), read_array_type(), read_range_type(), read_subrange_type(), read_tag_string_type(), to_fixed_range_type(), upgrade_type(), value_cast(), and value_slice().
struct type* create_set_type | ( | struct type * | result_type, |
struct type * | domain_type | ||
) | [read] |
Definition at line 1026 of file gdbtypes.c.
References alloc_type_copy(), get_discrete_bounds(), LONGEST, TYPE_CODE, TYPE_CODE_SET, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_LENGTH, TYPE_NFIELDS, TYPE_STUB, TYPE_UNSIGNED, and TYPE_ZALLOC.
Referenced by read_set_type(), and read_type().
struct type* create_string_type | ( | struct type * | result_type, |
struct type * | string_char_type, | ||
struct type * | range_type | ||
) | [read] |
Definition at line 1002 of file gdbtypes.c.
References create_array_type(), TYPE_CODE, and TYPE_CODE_STRING.
Referenced by read_tag_string_type().
static int distance_to_ancestor | ( | struct type * | base, |
struct type * | dclass, | ||
int | public | ||
) | [static] |
Definition at line 2142 of file gdbtypes.c.
References BASETYPE_VIA_PUBLIC, CHECK_TYPEDEF, class_types_same_p(), TYPE_BASECLASS, and TYPE_N_BASECLASSES.
Referenced by is_ancestor(), is_public_ancestor(), and rank_one_type().
static void dump_fn_fieldlists | ( | struct type * | type, |
int | spaces | ||
) | [static] |
Definition at line 2918 of file gdbtypes.c.
References _, gdb_print_host_address(), gdb_stdout, print_arg_types(), printf_filtered(), printfi_filtered(), recursive_dump_type(), TYPE_FN_FIELD_ARGS, TYPE_FN_FIELD_CONST, 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, TYPE_NFIELDS, and TYPE_NFN_FIELDS.
Referenced by print_cplus_stuff().
int field_is_static | ( | struct field * | f | ) |
Definition at line 2906 of file gdbtypes.c.
References FIELD_LOC_KIND, FIELD_LOC_KIND_PHYSADDR, and FIELD_LOC_KIND_PHYSNAME.
Referenced by amd64_classify_aggregate(), c_type_print_base(), convert_field(), cp_print_value_fields(), do_search_struct_field(), gen_struct_elt_for_reference(), gen_struct_ref_recursive(), gen_trace_static_fields(), gnuv3_pass_by_reference(), java_print_value_fields(), java_type_print_base(), mips_n32n64_fp_arg_chunk_p(), pascal_object_print_value_fields(), pascal_type_print_base(), and value_struct_element_index().
static void* gdbtypes_post_init | ( | struct gdbarch * | gdbarch | ) | [static] |
Definition at line 3818 of file gdbtypes.c.
References arch_character_type(), arch_complex_type(), arch_float_type(), arch_integer_type(), arch_type(), builtin_type::builtin_bool, builtin_type::builtin_char, builtin_type::builtin_char16, builtin_type::builtin_char32, builtin_type::builtin_complex, 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_float, builtin_type::builtin_func_func, builtin_type::builtin_func_ptr, builtin_type::builtin_int, builtin_type::builtin_int0, builtin_type::builtin_int128, builtin_type::builtin_int16, 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_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, gdbarch_char_signed(), gdbarch_double_bit(), gdbarch_double_format(), gdbarch_float_bit(), gdbarch_float_format(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_long_double_bit(), gdbarch_long_double_format(), gdbarch_long_long_bit(), GDBARCH_OBSTACK_ZALLOC, gdbarch_short_bit(), builtin_type::internal_fn, lookup_function_type(), lookup_pointer_type(), TYPE_CODE_BOOL, TYPE_CODE_DECFLOAT, TYPE_CODE_INTERNAL_FUNCTION, TYPE_CODE_STRING, TYPE_CODE_VOID, TYPE_INSTANCE_FLAG_NOTTEXT, and TYPE_INSTANCE_FLAGS.
Referenced by _initialize_gdbtypes().
int get_array_bounds | ( | struct type * | type, |
LONGEST * | low_bound, | ||
LONGEST * | high_bound | ||
) |
Definition at line 901 of file gdbtypes.c.
References get_discrete_bounds(), LONGEST, TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED, TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED, 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_val_print(), evaluate_subexp_opencl(), generic_val_print(), lookup_opencl_vector_type(), lval_func_read(), lval_func_write(), opencl_component_ref(), opencl_logical_not(), pascal_val_print(), print_optional_low_bound(), val_print_array_elements(), value_complement(), value_neg(), value_one(), value_vector_widen(), vector_binop(), and vector_relop().
int get_discrete_bounds | ( | struct type * | type, |
LONGEST * | lowp, | ||
LONGEST * | highp | ||
) |
Definition at line 822 of file gdbtypes.c.
References CHECK_TYPEDEF, LONGEST, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_RANGE, TYPE_FIELD_ENUMVAL, TYPE_HIGH_BOUND, TYPE_LENGTH, TYPE_LOW_BOUND, TYPE_NFIELDS, and TYPE_UNSIGNED.
Referenced by ada_value_ptr_subscript(), c_get_string(), constrained_packed_array_type(), create_array_type(), create_set_type(), evaluate_subexp_c(), evaluate_subexp_standard(), get_array_bounds(), is_scalar_type_recursive(), m2_get_discrete_bounds(), m2_print_long_set(), m2_val_print(), pascal_val_print(), val_print_packed_array_elements(), value_bit_index(), value_cast(), value_slice(), value_subscript(), and value_subscript_packed().
struct gdbarch* get_type_arch | ( | const struct type * | type | ) | [read] |
Definition at line 234 of file gdbtypes.c.
References get_objfile_arch(), TYPE_OBJFILE_OWNED, and TYPE_OWNER.
Referenced by ada_val_print_1(), ada_val_print_array(), ada_value_assign(), ada_value_binop(), ada_value_primitive_packed_val(), add_class_symbol(), c_emit_char(), c_get_string(), c_printchar(), c_printstr(), c_type_print_modifier(), c_val_print(), check_stub_method(), check_typedef(), copy_type_recursive(), cp_print_class_member(), cp_print_value_fields(), decode_constrained_packed_array(), default_print_one_register_info(), default_read_var_value(), extract_typed_address(), f_get_encoding(), f_val_print(), find_function_addr(), float_type_from_length(), floatformat_from_type(), generic_emit_char(), generic_printstr(), generic_val_print(), gnuv3_baseclass_offset(), gnuv3_get_typeid(), gnuv3_get_typename_from_type_info(), gnuv3_make_method_ptr(), gnuv3_method_ptr_size(), gnuv3_method_ptr_to_value(), gnuv3_print_method_ptr(), gnuv3_print_vtable(), gnuv3_rtti_type(), gnuv3_virtual_fn_field(), java_get_encoding(), java_val_print(), java_value_print(), lookup_array_range_type(), m2_val_print(), make_pointer_type(), make_reference_type(), modify_field(), pack_long(), pack_unsigned_long(), pascal_printstr(), pascal_val_print(), print_decimal_floating(), print_formatted(), print_go_string(), print_scalar_formatted(), print_unpacked_pointer(), print_variable_at_address(), printf_decfloat(), printf_wide_c_string(), printstr(), read_pieced_value(), scalar_binop(), smash_to_memberptr_type(), store_typed_address(), ui_printf(), unpack_double(), unpack_long(), unpack_value_bits_as_long_1(), update_watchpoint(), val_print_string(), val_print_type_code_int(), value_args_as_decimal(), value_as_address(), value_assign(), value_assign_to_component(), value_bit_index(), value_cast(), value_fetch_lazy(), value_get_print_value(), value_logical_not(), value_neg(), value_one(), value_pointer(), value_x_unop(), and write_pieced_value().
int get_vptr_fieldno | ( | struct type * | type, |
struct type ** | basetypep | ||
) |
Definition at line 1445 of file gdbtypes.c.
References check_typedef(), CHECK_TYPEDEF, get_vptr_fieldno(), TYPE_BASECLASS, TYPE_N_BASECLASSES, TYPE_OBJFILE, TYPE_VPTR_BASETYPE, and TYPE_VPTR_FIELDNO.
Referenced by c_type_print_base(), cp_print_value_fields(), cplus_class_num_children(), cplus_describe_child(), get_vptr_fieldno(), gnuv2_value_rtti_type(), and gnuv2_virtual_fn_field().
struct type* init_type | ( | enum type_code | code, |
int | length, | ||
int | flags, | ||
const char * | name, | ||
struct objfile * | objfile | ||
) | [read] |
Definition at line 1960 of file gdbtypes.c.
References alloc_type(), code, gdb_assert, INIT_CPLUS_SPECIFIC, INIT_FUNC_SPECIFIC, type::length, name, type, TYPE_CODE, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_NAMESPACE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIXED_INSTANCE, TYPE_FLAG_FIXED_INSTANCE, TYPE_FLAG_GNU_IFUNC, TYPE_FLAG_INCOMPLETE, TYPE_FLAG_MIN, TYPE_FLAG_NOSIGN, TYPE_FLAG_PROTOTYPED, TYPE_FLAG_STATIC, TYPE_FLAG_STUB, TYPE_FLAG_STUB_SUPPORTED, TYPE_FLAG_TARGET_STUB, TYPE_FLAG_UNSIGNED, TYPE_FLAG_VARARGS, TYPE_FLAG_VECTOR, TYPE_GNU_IFUNC, TYPE_INCOMPLETE, TYPE_LENGTH, TYPE_NAME, TYPE_NOSIGN, TYPE_PROTOTYPED, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FLOATFORMAT, TYPE_STATIC, TYPE_STUB, TYPE_STUB_SUPPORTED, TYPE_TARGET_STUB, TYPE_UNSIGNED, TYPE_VARARGS, and TYPE_VECTOR.
Referenced by basic_type(), build_error_marker_type(), fixup_go_packaging(), objfile_type(), parse_type(), read_base_type(), read_module_type(), read_namespace_type(), read_range_type(), read_sun_builtin_type(), read_sun_floating_type(), read_typedef(), read_unspecified_type(), and rs6000_builtin_type().
struct type* init_vector_type | ( | struct type * | elt_type, |
int | n | ||
) | [read] |
Definition at line 1079 of file gdbtypes.c.
References lookup_array_range_type(), and make_vector_type().
Referenced by arm_neon_double_type(), arm_neon_quad_type(), create_value(), i386_mmx_type(), i386_ymm_type(), linux_get_siginfo_type(), rs6000_builtin_type_vec128(), rs6000_builtin_type_vec64(), sdata_make_value(), spu_builtin_type_vec128(), and tdesc_gdb_type().
static int integer_types_same_name_p | ( | const char * | first, |
const char * | second | ||
) | [static] |
int is_ancestor | ( | struct type * | base, |
struct type * | dclass | ||
) |
Definition at line 2173 of file gdbtypes.c.
References distance_to_ancestor().
Referenced by value_dynamic_cast().
int is_integral_type | ( | struct type * | t | ) |
Definition at line 2034 of file gdbtypes.c.
References CHECK_TYPEDEF, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_FLAGS, TYPE_CODE_INT, and TYPE_CODE_RANGE.
Referenced by ada_promote_array_of_integrals(), binop_promote(), coerce_for_assign(), evaluate_subexp_standard(), gen_expr_binop_rest(), opencl_relop(), scalar_binop(), unop_promote(), value_args_as_decimal(), value_binop(), value_complement(), value_equal(), value_less(), value_neg(), value_one(), and value_pos().
int is_public_ancestor | ( | struct type * | base, |
struct type * | dclass | ||
) |
Definition at line 2182 of file gdbtypes.c.
References distance_to_ancestor().
Referenced by value_dynamic_cast().
static int is_scalar_type | ( | struct type * | type | ) | [static] |
Definition at line 2050 of file gdbtypes.c.
References CHECK_TYPEDEF, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_SET, TYPE_CODE_STRING, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by is_scalar_type_recursive().
int is_scalar_type_recursive | ( | struct type * | t | ) |
Definition at line 2072 of file gdbtypes.c.
References check_typedef(), CHECK_TYPEDEF, get_discrete_bounds(), is_scalar_type(), is_scalar_type_recursive(), LONGEST, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_RANGE, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_INDEX_TYPE, TYPE_NFIELDS, and TYPE_TARGET_TYPE.
Referenced by can_use_hardware_watchpoint(), and is_scalar_type_recursive().
int is_unique_ancestor | ( | struct type * | base, |
struct value * | val | ||
) |
Definition at line 2242 of file gdbtypes.c.
References is_unique_ancestor_worker(), offset, value_address(), value_contents_for_printing(), value_embedded_offset(), and value_type().
Referenced by value_dynamic_cast().
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 | ||
) | [static] |
Definition at line 2190 of file gdbtypes.c.
References baseclass_offset(), check_typedef(), CHECK_TYPEDEF, class_types_same_p(), TYPE_BASECLASS, and TYPE_N_BASECLASSES.
Referenced by is_unique_ancestor().
struct type* lookup_array_range_type | ( | struct type * | element_type, |
LONGEST | low_bound, | ||
LONGEST | high_bound | ||
) | [read] |
Definition at line 978 of file gdbtypes.c.
References builtin_type::builtin_int, builtin_type(), create_array_type(), create_range_type(), and get_type_arch().
Referenced by allocate_repeat_value(), build_gdb_vtable_type(), dynamic_array_type(), follow_types(), gen_repeat(), init_vector_type(), java_array_type(), lookup_string_range_type(), mt_register_type(), sh64_build_float_register_type(), sh_sh4_build_float_register_type(), typy_array_1(), value_array(), and value_cstring().
struct type* lookup_enum | ( | const char * | name, |
const struct block * | block | ||
) | [read] |
Definition at line 1296 of file gdbtypes.c.
References _, error(), lookup_symbol(), STRUCT_DOMAIN, SYMBOL_TYPE, TYPE_CODE, and TYPE_CODE_ENUM.
Referenced by typy_lookup_typename().
struct type* lookup_function_type | ( | struct type * | type | ) | [read] |
Definition at line 469 of file gdbtypes.c.
References make_function_type().
Referenced by decode_type(), define_symbol(), evaluate_subexp_standard(), finalize_symtab(), find_function_in_inferior(), flush_ea_cache(), follow_types(), gdbtypes_post_init(), java_link_class_type(), make_types(), parse_procedure(), parse_symbol(), patch_block_stabs(), process_coff_symbol(), read_subroutine_type(), and upgrade_type().
struct type* lookup_function_type_with_arguments | ( | struct type * | type, |
int | nparams, | ||
struct type ** | param_types | ||
) | [read] |
Definition at line 479 of file gdbtypes.c.
References check_typedef(), gdb_assert, make_function_type(), TYPE_CODE, TYPE_CODE_VOID, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_VARARGS, and TYPE_ZALLOC.
Referenced by follow_types().
struct type* lookup_memberptr_type | ( | struct type * | type, |
struct type * | domain | ||
) | [read] |
Definition at line 743 of file gdbtypes.c.
References alloc_type_copy(), and smash_to_memberptr_type().
Referenced by read_tag_ptr_to_member_type().
struct type* lookup_methodptr_type | ( | struct type * | to_type | ) | [read] |
Definition at line 755 of file gdbtypes.c.
References alloc_type_copy(), and smash_to_methodptr_type().
Referenced by read_tag_ptr_to_member_type().
struct type* lookup_pointer_type | ( | struct type * | type | ) | [read] |
Definition at line 355 of file gdbtypes.c.
References make_pointer_type().
Referenced by aarch64_push_dummy_call(), ada_get_tsd_from_tag(), ada_language_arch_info(), ada_tag_value_at_base_address(), ada_type_of_array(), ada_val_print_1(), ada_value_ptr_subscript(), ada_varobj_ind(), address_of_variable(), alpha_push_dummy_call(), arm_stap_parse_special_token(), call_function_by_hand(), check_stub_method(), decode_type(), default_read_var_value(), define_symbol(), desc_bounds(), evaluate_subexp_java(), evaluate_subexp_standard(), evaluate_subexp_with_coercion(), find_function_in_inferior(), flush_ea_cache(), follow_types(), gdbtypes_post_init(), gen_address_of(), gen_usual_unary(), gnuv2_virtual_fn_field(), gnuv3_get_virtual_fn(), gnuv3_get_vtable(), gnuv3_method_ptr_to_value(), i386_stap_parse_special_token(), java_link_class_type(), java_value_print(), linux_get_siginfo_type(), read_tag_pointer_type(), sparc32_store_arguments(), sparc64_store_arguments(), stap_parse_register_operand(), thin_data_pntr(), type_from_class(), typy_lookup_type(), typy_pointer(), upgrade_type(), value_addr(), value_arg_coerce(), value_coerce_array(), value_coerce_function(), value_fn_field(), value_nsstring(), value_reinterpret_cast(), value_rtti_indirect_type(), windows_get_tlb_type(), and x_command().
struct type* lookup_reference_type | ( | struct type * | type | ) | [read] |
Definition at line 428 of file gdbtypes.c.
References make_reference_type().
Referenced by evaluate_subexp_standard(), follow_types(), read_tag_reference_type(), typy_lookup_type(), typy_reference(), value_ref(), and value_rtti_indirect_type().
struct type* lookup_signed_typename | ( | const struct language_defn * | language, |
struct gdbarch * | gdbarch, | ||
const char * | name | ||
) | [read] |
Definition at line 1231 of file gdbtypes.c.
References lookup_typename().
Referenced by binop_promote().
struct type* lookup_string_range_type | ( | struct type * | string_char_type, |
LONGEST | low_bound, | ||
LONGEST | high_bound | ||
) | [read] |
Definition at line 1014 of file gdbtypes.c.
References lookup_array_range_type(), TYPE_CODE, and TYPE_CODE_STRING.
Referenced by value_string().
struct type* lookup_struct | ( | const char * | name, |
const struct block * | block | ||
) | [read] |
Definition at line 1250 of file gdbtypes.c.
References _, error(), lookup_symbol(), STRUCT_DOMAIN, SYMBOL_TYPE, TYPE_CODE, and TYPE_CODE_STRUCT.
Referenced by typy_lookup_typename().
struct type* lookup_struct_elt_type | ( | struct type * | type, |
const char * | name, | ||
int | noerr | ||
) | [read] |
Definition at line 1356 of file gdbtypes.c.
References _, CHECK_TYPEDEF, error(), lookup_struct_elt_type(), make_cleanup(), strcmp_iw(), type, TYPE_BASECLASS, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_N_BASECLASSES, type_name_no_tag(), TYPE_NFIELDS, TYPE_TARGET_TYPE, type_to_string(), and xfree().
Referenced by ada_is_bogus_array_descriptor(), desc_bounds_type(), desc_data_target_type(), desc_index_type(), is_thick_pntr(), lookup_struct_elt_type(), and yylex().
struct type* lookup_template_type | ( | char * | name, |
struct type * | type, | ||
const struct block * | block | ||
) | [read] |
Definition at line 1317 of file gdbtypes.c.
References _, error(), lookup_symbol(), SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_NAME, and VAR_DOMAIN.
struct type* lookup_typename | ( | const struct language_defn * | language, |
struct gdbarch * | gdbarch, | ||
const char * | name, | ||
const struct block * | block, | ||
int | noerr | ||
) | [read] |
Definition at line 1199 of file gdbtypes.c.
References _, error(), language_lookup_primitive_type_by_name(), LOC_TYPEDEF, lookup_symbol(), SYMBOL_CLASS, SYMBOL_TYPE, type, and VAR_DOMAIN.
Referenced by cp_lookup_symbol_imports_or_template(), evaluate_subexp_c(), lookup_signed_typename(), lookup_unsigned_typename(), printf_wide_c_string(), typy_lookup_typename(), ui_printf(), and yylex().
struct type* lookup_union | ( | const char * | name, |
const struct block * | block | ||
) | [read] |
Definition at line 1272 of file gdbtypes.c.
References _, error(), lookup_symbol(), STRUCT_DOMAIN, SYMBOL_TYPE, TYPE_CODE, and TYPE_CODE_UNION.
Referenced by typy_lookup_typename().
struct type* lookup_unsigned_typename | ( | const struct language_defn * | language, |
struct gdbarch * | gdbarch, | ||
const char * | name | ||
) | [read] |
Definition at line 1220 of file gdbtypes.c.
References lookup_typename().
Referenced by binop_promote().
struct type* make_cv_type | ( | int | cnst, |
int | voltl, | ||
struct type * | type, | ||
struct type ** | typeptr | ||
) | [read] |
Definition at line 638 of file gdbtypes.c.
References gdb_assert, make_qualified_type(), TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE, TYPE_INSTANCE_FLAGS, and TYPE_OBJFILE.
Referenced by build_std_type_info_type(), c_type_print_args(), create_value(), follow_types(), gnuv3_get_typeid(), 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().
struct type* make_function_type | ( | struct type * | type, |
struct type ** | typeptr | ||
) | [read] |
Definition at line 439 of file gdbtypes.c.
References alloc_type_copy(), INIT_FUNC_SPECIFIC, smash_type(), type, TYPE_CODE, TYPE_CODE_FUNC, TYPE_LENGTH, and TYPE_TARGET_TYPE.
Referenced by avr_gdbarch_init(), lookup_function_type(), lookup_function_type_with_arguments(), and read_type().
struct type* make_pointer_type | ( | struct type * | type, |
struct type ** | typeptr | ||
) | [read] |
Definition at line 293 of file gdbtypes.c.
References alloc_type_copy(), type::chain, gdbarch_ptr_bit(), get_type_arch(), smash_type(), type, TYPE_CHAIN, TYPE_CODE, TYPE_CODE_PTR, TYPE_LENGTH, TYPE_POINTER_TYPE, TYPE_TARGET_TYPE, and TYPE_UNSIGNED.
Referenced by build_std_type_info_type(), compute_exception(), gnuv3_get_typeid(), lookup_pointer_type(), parse_symbol(), and read_type().
static struct type* make_qualified_type | ( | struct type * | type, |
int | new_flags, | ||
struct type * | storage | ||
) | [static, read] |
Definition at line 556 of file gdbtypes.c.
References alloc_type_instance(), gdb_assert, type, TYPE_CHAIN, TYPE_INSTANCE_FLAGS, TYPE_LENGTH, TYPE_MAIN_TYPE, TYPE_OBJFILE, TYPE_POINTER_TYPE, and TYPE_REFERENCE_TYPE.
Referenced by check_typedef(), make_cv_type(), make_restrict_type(), make_type_with_address_space(), and make_vector_type().
struct type* make_reference_type | ( | struct type * | type, |
struct type ** | typeptr | ||
) | [read] |
Definition at line 366 of file gdbtypes.c.
References alloc_type_copy(), type::chain, gdbarch_ptr_bit(), get_type_arch(), smash_type(), type, TYPE_CHAIN, TYPE_CODE, TYPE_CODE_REF, TYPE_LENGTH, TYPE_REFERENCE_TYPE, and TYPE_TARGET_TYPE.
Referenced by lookup_reference_type(), and read_type().
struct type* make_restrict_type | ( | struct type * | type | ) | [read] |
Definition at line 683 of file gdbtypes.c.
References make_qualified_type(), TYPE_INSTANCE_FLAG_RESTRICT, and TYPE_INSTANCE_FLAGS.
Referenced by read_tag_restrict_type().
struct type* make_type_with_address_space | ( | struct type * | type, |
int | space_flag | ||
) | [read] |
Definition at line 614 of file gdbtypes.c.
References make_qualified_type(), TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL, TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE, and TYPE_INSTANCE_FLAGS.
Referenced by follow_types(), and read_tag_pointer_type().
void make_vector_type | ( | struct type * | array_type | ) |
Definition at line 1056 of file gdbtypes.c.
References flags, make_qualified_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_INT, TYPE_INSTANCE_FLAG_NOTTEXT, TYPE_INSTANCE_FLAGS, TYPE_TARGET_TYPE, and TYPE_VECTOR.
Referenced by init_vector_type(), read_array_type(), read_type(), and typy_array_1().
struct objfile_type* objfile_type | ( | struct objfile * | objfile | ) | [read] |
Definition at line 3951 of file gdbtypes.c.
References objfile_type::builtin_char, objfile_type::builtin_core_addr, objfile_type::builtin_double, objfile_type::builtin_error, objfile_type::builtin_float, objfile_type::builtin_int, objfile_type::builtin_long, objfile_type::builtin_long_double, objfile_type::builtin_long_long, objfile_type::builtin_short, objfile_type::builtin_signed_char, objfile_type::builtin_unsigned_char, objfile_type::builtin_unsigned_int, objfile_type::builtin_unsigned_long, objfile_type::builtin_unsigned_long_long, objfile_type::builtin_unsigned_short, objfile_type::builtin_void, gdbarch_addr_bit(), gdbarch_char_signed(), gdbarch_double_bit(), gdbarch_double_format(), gdbarch_float_bit(), gdbarch_float_format(), gdbarch_int_bit(), gdbarch_long_bit(), gdbarch_long_double_bit(), gdbarch_long_double_format(), gdbarch_long_long_bit(), gdbarch_short_bit(), get_objfile_arch(), HOST_CHAR_BIT, init_type(), objfile_type::nodebug_data_symbol, objfile_type::nodebug_got_plt_symbol, objfile_type::nodebug_text_gnu_ifunc_symbol, objfile_type::nodebug_text_symbol, objfile_type::nodebug_tls_symbol, objfile_type::nodebug_unknown_symbol, objfile::objfile_obstack, objfile_type(), objfile_type_data, OBSTACK_CALLOC, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_VOID, TYPE_FLAG_GNU_IFUNC, TYPE_FLAG_NOSIGN, TYPE_FLAG_UNSIGNED, TYPE_FLOATFORMAT, and TYPE_TARGET_TYPE.
Referenced by basic_type(), dbx_lookup_type(), decode_base_type(), decode_type(), define_symbol(), die_type(), error_type(), flush_ea_cache(), new_symbol_full(), objfile_type(), parse_procedure(), parse_symbol(), process_xcoff_symbol(), psymtab_to_symtab_1(), read_array_type(), read_range_type(), read_subrange_type(), read_subroutine_type(), read_tag_string_type(), rs6000_builtin_type(), and upgrade_type().
static void print_arg_types | ( | struct field * | args, |
int | nargs, | ||
int | spaces | ||
) | [static] |
Definition at line 2894 of file gdbtypes.c.
References recursive_dump_type().
Referenced by dump_fn_fieldlists().
static void print_bit_vector | ( | B_TYPE * | bits, |
int | nbits | ||
) | [static] |
Definition at line 2872 of file gdbtypes.c.
References B_TST, printf_filtered(), and puts_filtered().
Referenced by print_cplus_stuff().
static void print_cplus_stuff | ( | struct type * | type, |
int | spaces | ||
) | [static] |
Definition at line 2986 of file gdbtypes.c.
References dump_fn_fieldlists(), gdb_print_host_address(), gdb_stdout, print_bit_vector(), printf_filtered(), printfi_filtered(), puts_filtered(), TYPE_FIELD_PRIVATE_BITS, TYPE_FIELD_PROTECTED_BITS, TYPE_FIELD_VIRTUAL_BITS, TYPE_N_BASECLASSES, TYPE_NFIELDS, and TYPE_NFN_FIELDS.
Referenced by recursive_dump_type().
static void print_gnat_stuff | ( | struct type * | type, |
int | spaces | ||
) | [static] |
Definition at line 3041 of file gdbtypes.c.
References recursive_dump_type(), and TYPE_DESCRIPTIVE_TYPE.
Referenced by recursive_dump_type().
struct badness_vector* rank_function | ( | struct type ** | parms, |
int | nparms, | ||
struct value ** | args, | ||
int | nargs | ||
) | [read] |
Definition at line 2344 of file gdbtypes.c.
References badness_vector::length, LENGTH_MATCH, badness_vector::rank, rank_one_type(), value_type(), and xmalloc().
Referenced by find_oload_champ().
struct rank rank_one_type | ( | struct type * | parm, |
struct type * | arg, | ||
struct value * | value | ||
) | [read] |
Definition at line 2495 of file gdbtypes.c.
References BOOL_CONVERSION_BADNESS, check_typedef(), distance_to_ancestor(), EXACT_MATCH_BADNESS, FLOAT_CONVERSION_BADNESS, FLOAT_PROMOTION_BADNESS, fprintf_filtered(), gdb_stderr, INCOMPATIBLE_TYPE_BADNESS, INT_FLOAT_CONVERSION_BADNESS, INTEGER_CONVERSION_BADNESS, INTEGER_PROMOTION_BADNESS, integer_types_same_name_p(), NS_INTEGER_POINTER_CONVERSION_BADNESS, NS_POINTER_CONVERSION_BADNESS, NULL_POINTER_CONVERSION_BADNESS, overload_debug, rank_one_type(), REFERENCE_CONVERSION_BADNESS, strict_type_checking, rank::subrank, sum_ranks(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_ENUM, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NAME, TYPE_NOSIGN, TYPE_TARGET_TYPE, TYPE_UNSIGNED, types_equal(), value_as_long(), value_type(), and VOID_PTR_CONVERSION_BADNESS.
Referenced by compare_parameters(), rank_function(), and rank_one_type().
void recursive_dump_type | ( | struct type * | type, |
int | spaces | ||
) |
Definition at line 3051 of file gdbtypes.c.
References _, dont_print_type_obstack, gdb_print_host_address(), gdb_stdout, HAVE_CPLUS_STRUCT, name, plongest(), print_cplus_stuff(), print_gnat_stuff(), printf_filtered(), printfi_filtered(), puts_filtered(), recursive_dump_type(), TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2, TYPE_CALLING_CONVENTION, TYPE_CHAIN, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_NAMESPACE, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_SPACE, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_CONST, TYPE_CPLUS_SPECIFIC, TYPE_DATA_SPACE, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_ENUMVAL, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_FIXED_INSTANCE, TYPE_FLOATFORMAT, TYPE_GNAT_SPECIFIC, TYPE_HIGH_BOUND, TYPE_HIGH_BOUND_UNDEFINED, TYPE_INCOMPLETE, TYPE_INSTANCE_FLAGS, TYPE_LENGTH, TYPE_LOW_BOUND, TYPE_LOW_BOUND_UNDEFINED, TYPE_NAME, TYPE_NFIELDS, TYPE_NFN_FIELDS, TYPE_NOSIGN, TYPE_NOTTEXT, TYPE_OBJFILE_OWNED, TYPE_OWNER, TYPE_POINTER_TYPE, TYPE_PROTOTYPED, TYPE_REFERENCE_TYPE, TYPE_RESTRICT, TYPE_SPECIFIC_CPLUS_STUFF, TYPE_SPECIFIC_FIELD, TYPE_SPECIFIC_FLOATFORMAT, TYPE_SPECIFIC_FUNC, TYPE_SPECIFIC_GNAT_STUFF, TYPE_STATIC, TYPE_STUB, TYPE_STUB_SUPPORTED, TYPE_TAG_NAME, TYPE_TARGET_STUB, TYPE_TARGET_TYPE, TYPE_UNSIGNED, TYPE_VARARGS, TYPE_VECTOR, TYPE_VOLATILE, TYPE_VPTR_BASETYPE, and TYPE_VPTR_FIELDNO.
Referenced by dump_fn_fieldlists(), maintenance_print_type(), print_arg_types(), print_gnat_stuff(), and recursive_dump_type().
void replace_type | ( | struct type * | ntype, |
struct type * | type | ||
) |
Definition at line 702 of file gdbtypes.c.
References type::chain, gdb_assert, TYPE_ADDRESS_CLASS_ALL, TYPE_CHAIN, TYPE_INSTANCE_FLAGS, TYPE_LENGTH, TYPE_MAIN_TYPE, and TYPE_OBJFILE.
Referenced by cleanup_undefined_types_1(), cleanup_undefined_types_noname(), and read_type().
static struct type* safe_parse_type | ( | struct gdbarch * | gdbarch, |
char * | p, | ||
int | length | ||
) | [static, read] |
Definition at line 1727 of file gdbtypes.c.
References builtin_type(), builtin_type::builtin_void, gdb_stderr, parse_and_eval_type(), gdb_exception::reason, RETURN_MASK_ERROR, TRY_CATCH, type, ui_file_delete(), and ui_file_new().
Referenced by check_stub_method().
static void show_opaque_type_resolution | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 131 of file gdbtypes.c.
References _, and fprintf_filtered().
Referenced by _initialize_gdbtypes().
static void show_overload_debug | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 143 of file gdbtypes.c.
References _, and fprintf_filtered().
Referenced by _initialize_gdbtypes().
static void show_strict_type_checking | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 153 of file gdbtypes.c.
References _, and fprintf_filtered().
Referenced by _initialize_gdbtypes().
void smash_to_memberptr_type | ( | struct type * | type, |
struct type * | domain, | ||
struct type * | to_type | ||
) |
Definition at line 1100 of file gdbtypes.c.
References gdbarch_ptr_bit(), get_type_arch(), smash_type(), TYPE_CODE, TYPE_CODE_MEMBERPTR, TYPE_DOMAIN_TYPE, TYPE_LENGTH, and TYPE_TARGET_TYPE.
Referenced by lookup_memberptr_type(), and read_type().
void smash_to_method_type | ( | struct type * | type, |
struct type * | domain, | ||
struct type * | to_type, | ||
struct field * | args, | ||
int | nargs, | ||
int | varargs | ||
) |
Definition at line 1137 of file gdbtypes.c.
References smash_type(), TYPE_CODE, TYPE_CODE_METHOD, TYPE_DOMAIN_TYPE, TYPE_FIELDS, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, and TYPE_VARARGS.
Referenced by dwarf2_add_member_fn(), quirk_gcc_member_function_pointer(), read_tag_ptr_to_member_type(), and read_type().
void smash_to_methodptr_type | ( | struct type * | type, |
struct type * | to_type | ||
) |
Definition at line 1120 of file gdbtypes.c.
References cplus_method_ptr_size(), smash_type(), TYPE_CODE, TYPE_CODE_METHODPTR, TYPE_DOMAIN_TYPE, TYPE_LENGTH, and TYPE_TARGET_TYPE.
Referenced by lookup_methodptr_type(), and quirk_gcc_member_function_pointer().
static void smash_type | ( | struct type * | type | ) | [static] |
Definition at line 270 of file gdbtypes.c.
References memset(), type, TYPE_CHAIN, TYPE_MAIN_TYPE, TYPE_OBJFILE_OWNED, and TYPE_OWNER.
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 void stub_noname_complaint | ( | void | ) | [static] |
Definition at line 1489 of file gdbtypes.c.
References _, complaint(), and symfile_complaints.
Referenced by check_typedef().
Definition at line 2258 of file gdbtypes.c.
References rank::rank, and rank::subrank.
Referenced by rank_one_type().
const char* type_name_no_tag | ( | const struct type * | type | ) |
Definition at line 1156 of file gdbtypes.c.
References TYPE_NAME, and TYPE_TAG_NAME.
Referenced by ada_prefer_type(), add_struct_fields(), c_type_print_base(), c_type_print_varspec_prefix(), check_typedef(), cp_is_vtbl_ptr_type(), cp_print_class_member(), cp_print_value_fields(), cp_type_print_derivation_info(), define_symbol(), dwarf2_add_field(), find_methods(), gdb_mangle_name(), java_print_value_fields(), java_type_print_base(), java_type_print_derivation_info(), lookup_struct_elt_type(), parse_old_style_renaming(), pascal_object_is_vtbl_ptr_type(), pascal_object_print_value(), pascal_object_print_value_fields(), pascal_type_print_derivation_info(), print_subexp_standard(), read_baseclasses(), read_cpp_abbrev(), type_name_no_tag_or_error(), value_cast_structs(), and xget_renaming_scope().
const char* type_name_no_tag_or_error | ( | struct type * | type | ) |
Definition at line 1175 of file gdbtypes.c.
References _, CHECK_TYPEDEF, error(), name, objfile_name(), type, type_name_no_tag(), and TYPE_OBJFILE.
Referenced by cp_lookup_nested_symbol(), and destructor_name_p().
static int type_pair_eq | ( | const void * | item_lhs, |
const void * | item_rhs | ||
) | [static] |
Definition at line 3400 of file gdbtypes.c.
References type_pair::old.
Referenced by create_copied_types_hash().
static hashval_t type_pair_hash | ( | const void * | item | ) | [static] |
Definition at line 3392 of file gdbtypes.c.
References type_pair::old.
Referenced by create_copied_types_hash().
int types_equal | ( | struct type * | a, |
struct type * | b | ||
) |
Definition at line 2420 of file gdbtypes.c.
References check_typedef(), TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_CODE_TYPEDEF, TYPE_FIELD_TYPE, TYPE_NAME, TYPE_NFIELDS, TYPE_TARGET_TYPE, and types_equal().
Referenced by eq_typedef_field(), rank_one_type(), and types_equal().
Referenced by _initialize_gdbtypes(), and initialize_all_files().
struct rank BASE_CONVERSION_BADNESS = {2,0} |
Definition at line 59 of file gdbtypes.c.
struct rank BASE_PTR_CONVERSION_BADNESS = {1,0} |
Definition at line 53 of file gdbtypes.c.
struct rank BOOL_CONVERSION_BADNESS = {3,0} |
Definition at line 58 of file gdbtypes.c.
Referenced by rank_one_type().
struct cplus_struct_type cplus_struct_default = { } |
Definition at line 1922 of file gdbtypes.c.
struct obstack dont_print_type_obstack [static] |
Definition at line 3048 of file gdbtypes.c.
Referenced by recursive_dump_type().
struct rank EXACT_MATCH_BADNESS = {0,0} |
Definition at line 49 of file gdbtypes.c.
Referenced by compare_parameters(), and rank_one_type().
struct rank FLOAT_CONVERSION_BADNESS = {2,0} |
Definition at line 55 of file gdbtypes.c.
Referenced by rank_one_type().
struct rank FLOAT_PROMOTION_BADNESS = {1,0} |
Definition at line 52 of file gdbtypes.c.
Referenced by rank_one_type().
struct floatformat* floatformats_arm_ext[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_arm_ext_big, &floatformat_arm_ext_littlebyte_bigword }
Definition at line 90 of file gdbtypes.c.
Referenced by arm_ext_type(), and tdesc_gdb_type().
struct floatformat* floatformats_i387_ext[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_i387_ext, &floatformat_i387_ext }
Definition at line 82 of file gdbtypes.c.
Referenced by i386_gdbarch_init(), ia64_gdbarch_init(), and tdesc_gdb_type().
struct floatformat* floatformats_ia64_quad[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ia64_quad_big, &floatformat_ia64_quad_little }
Definition at line 98 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), hppa_gdbarch_init(), ia64_hpux_init_abi(), ia64_openvms_init_abi(), mips_linux_init_abi(), and s390_gdbarch_init().
struct floatformat* floatformats_ia64_spill[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ia64_spill_big, &floatformat_ia64_spill_little }
Definition at line 94 of file gdbtypes.c.
struct floatformat* floatformats_ibm_long_double[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ibm_long_double_big, &floatformat_ibm_long_double_little }
Definition at line 110 of file gdbtypes.c.
Referenced by do_ppc_sysv_return_value(), mips_gdbarch_init(), ppc64_sysv_abi_push_dummy_call(), ppc_linux_init_abi(), and ppc_sysv_abi_push_dummy_call().
struct floatformat* floatformats_ieee_double[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ieee_double_big, &floatformat_ieee_double_little }
Definition at line 74 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), arm_gdbarch_init(), build_opencl_types(), hppabsd_init_abi(), iq2000_gdbarch_init(), m68hc11_gdbarch_init(), m68k_gdbarch_init(), m88k_gdbarch_init(), msp430_gdbarch_init(), mt_gdbarch_init(), nios2_gdbarch_init(), ppcfbsd_init_abi(), ppcobsd_init_abi(), rl78_gdbarch_init(), rx_gdbarch_init(), sparc32nbsd_init_abi(), spu_gdbarch_init(), tdesc_gdb_type(), tic6x_gdbarch_init(), and verify_gdbarch().
struct floatformat* floatformats_ieee_double_littlebyte_bigword[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ieee_double_big, &floatformat_ieee_double_littlebyte_bigword }
Definition at line 78 of file gdbtypes.c.
Referenced by arm_gdbarch_init().
struct floatformat* floatformats_ieee_half[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ieee_half_big, &floatformat_ieee_half_little }
Definition at line 66 of file gdbtypes.c.
Referenced by build_opencl_types(), and verify_gdbarch().
struct floatformat* floatformats_ieee_single[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_ieee_single_big, &floatformat_ieee_single_little }
Definition at line 70 of file gdbtypes.c.
Referenced by aarch64_gdbarch_init(), arm_gdbarch_init(), avr_gdbarch_init(), build_opencl_types(), h8300_gdbarch_init(), iq2000_gdbarch_init(), m68hc11_gdbarch_init(), msp430_gdbarch_init(), mt_gdbarch_init(), nios2_gdbarch_init(), rl78_gdbarch_init(), rx_gdbarch_init(), sh_gdbarch_init(), spu_gdbarch_init(), tdesc_gdb_type(), tic6x_gdbarch_init(), and verify_gdbarch().
struct floatformat* floatformats_m68881_ext[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_m68881_ext, &floatformat_m68881_ext }
Definition at line 86 of file gdbtypes.c.
Referenced by m68881_ext_type(), and m68k_gdbarch_init().
struct floatformat* floatformats_vax_d[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_vax_d, &floatformat_vax_d }
Definition at line 106 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
struct floatformat* floatformats_vax_f[BFD_ENDIAN_UNKNOWN] |
{ &floatformat_vax_f, &floatformat_vax_f }
Definition at line 102 of file gdbtypes.c.
Referenced by vax_gdbarch_init().
struct gdbarch_data* gdbtypes_data [static] |
Definition at line 3809 of file gdbtypes.c.
struct gnat_aux_type gnat_aux_default |
{ NULL }
Definition at line 1937 of file gdbtypes.c.
struct rank INCOMPATIBLE_TYPE_BADNESS = {100,0} |
Definition at line 47 of file gdbtypes.c.
Referenced by classify_oload_match(), and rank_one_type().
struct rank INT_FLOAT_CONVERSION_BADNESS = {2,0} |
Definition at line 56 of file gdbtypes.c.
Referenced by rank_one_type().
struct rank INTEGER_CONVERSION_BADNESS = {2,0} |
Definition at line 54 of file gdbtypes.c.
Referenced by rank_one_type().
struct rank INTEGER_PROMOTION_BADNESS = {1,0} |
Definition at line 51 of file gdbtypes.c.
Referenced by rank_one_type().
struct rank LENGTH_MISMATCH_BADNESS = {100,0} |
Definition at line 44 of file gdbtypes.c.
struct rank NS_INTEGER_POINTER_CONVERSION_BADNESS = {3,0} |
Definition at line 63 of file gdbtypes.c.
Referenced by rank_one_type().
struct rank NS_POINTER_CONVERSION_BADNESS = {10,0} |
Definition at line 62 of file gdbtypes.c.
Referenced by classify_oload_match(), and rank_one_type().
struct rank NULL_POINTER_CONVERSION_BADNESS = {2,0} |
Definition at line 61 of file gdbtypes.c.
Referenced by rank_one_type().
struct objfile_data* objfile_type_data [static] |
Definition at line 3948 of file gdbtypes.c.
Referenced by _initialize_gdbtypes(), and objfile_type().
int opaque_type_resolution = 1 [static] |
Definition at line 117 of file gdbtypes.c.
Referenced by _initialize_gdbtypes(), and check_typedef().
unsigned int overload_debug = 0 |
Definition at line 122 of file gdbtypes.c.
Referenced by _initialize_gdbtypes(), find_oload_champ(), and rank_one_type().
struct rank REFERENCE_CONVERSION_BADNESS = {2,0} |
Definition at line 60 of file gdbtypes.c.
Referenced by rank_one_type().
int strict_type_checking = 1 [static] |
Definition at line 126 of file gdbtypes.c.
Referenced by _initialize_gdbtypes(), and rank_one_type().
struct rank TOO_FEW_PARAMS_BADNESS = {100,0} |
Definition at line 46 of file gdbtypes.c.
struct rank VOID_PTR_CONVERSION_BADNESS = {2,0} |
Definition at line 57 of file gdbtypes.c.
Referenced by rank_one_type().