forked from Imagelibrary/binutils-gdb
gdb:
* xml-tdesc.c (tdesc_end_union): Update. * stabsread.c (define_symbol): Update. (read_type): Update. (read_struct_type): Update. (read_enum_type): Update. * spu-tdep.c (spu_builtin_type_vec128): Update. * sh-tdep.c (sh_push_dummy_call_fpu): Update. (sh_push_dummy_call_nofpu): Update. * mdebugread.c (parse_symbol): Update. (parse_symbol): Update. (parse_symbol): Update. (upgrade_type): Update. * jv-lang.c (java_lookup_class): Update. * iq2000-tdep.c (iq2000_pointer_to_address): Update. * i386-tdep.c (i386_mmx_type): Update. (i386_sse_type): Update. * gdbtypes.h (enum type_flag_value): New enum. (enum type_instance_flag_value): New enum. (TYPE_FLAG_UNSIGNED, TYPE_FLAG_NOSIGN, TYPE_FLAG_STUB, TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC, TYPE_FLAG_PROTOTYPED, TYPE_FLAG_INCOMPLETE, TYPE_FLAG_VARARGS, TYPE_FLAG_VECTOR, TYPE_FLAG_FIXED_INSTANCE, TYPE_FLAG_STUB_SUPPORTED, TYPE_FLAG_NOTTEXT): Now enum constants. (TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_CODE_SPACE, TYPE_FLAG_DATA_SPACE, TYPE_FLAG_ADDRESS_CLASS_1, TYPE_FLAG_ADDRESS_CLASS_2): Remove. (TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE, TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE, TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1, TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2): New constants. (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB, TYPE_TARGET_STUB, TYPE_STATIC, TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_VARARGS, TYPE_VECTOR, TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, TYPE_NOTTEXT): Update. (TYPE_FLAG_ADDRESS_CLASS_ALL): Remove. (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL): New define. (TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE, TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2, TYPE_ADDRESS_CLASS_ALL): Update. (struct main_type) <flags>: Remove. <flag_unsigned, flag_nosign, flag_stub, flag_target_stub, flag_static, flag_prototyped, flag_incomplete, flag_varargs, flag_vector, flag_stub_supported, flag_nottext, flag_fixed_instance>: New fields. <nfields, vptr_fieldno>: Move earlier. (TYPE_FLAGS): Remove. * gdbtypes.c (make_pointer_type): Update. (address_space_name_to_int): Update. (address_space_int_to_name): Update. (make_type_with_address_space): Update. (make_cv_type): Update. (create_range_type): Update. (get_discrete_bounds): Update. (create_set_type): Update. (make_vector_type): Update. (smash_to_method_type): Update. (check_typedef): Update. (check_stub_method): Update. (init_type): Individually assign flag fields. (recursive_dump_type): Don't print entire TYPE_FLAGS field. Do print TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, and TYPE_NOTTEXT. (copy_type_recursive): Copy the entire main type. Don't use TYPE_FLAGS. * features/rs6000/powerpc-altivec64l.c (initialize_tdesc_powerpc_altivec64l): Update. * features/rs6000/powerpc-altivec64.c (initialize_tdesc_powerpc_altivec64): Update. * features/rs6000/powerpc-altivec32l.c (initialize_tdesc_powerpc_altivec32l): Update. * features/rs6000/powerpc-altivec32.c (initialize_tdesc_powerpc_altivec32): Update. * features/rs6000/powerpc-7400.c (initialize_tdesc_powerpc_7400): Update. * features/arm-with-iwmmxt.c (initialize_tdesc_arm_with_iwmmxt): Update. * dwarf2read.c (read_structure_type): Update. (read_enumeration_type): Likewise. (process_enumeration_scope): Likewise. (read_tag_pointer_type): Likewise. (read_subroutine_type): Likewise. (read_subroutine_type): Likewise. (read_base_type): Likewise. * coffread.c (coff_read_enum_type): Update. * ada-valprint.c (adjust_type_signedness): Update. * ada-typeprint.c (print_record_field_types): Update. * ada-lang.c (packed_array_type): Update. (empty_record): Don't reset TYPE_FLAGS. (ada_template_to_fixed_record_type_1): Update. (ada_template_to_fixed_record_type_1): Likewise. (template_to_static_fixed_type): Likewise. (to_record_with_fixed_variant_part): Likewise. (to_fixed_record_type): Likewise. (to_fixed_array_type): Likewise. (to_static_fixed_type): Likewise. gdb/testsuite: * gdb.base/maint.exp: Update "maint print type".
This commit is contained in:
@@ -4048,9 +4048,9 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
TYPE_LENGTH (type) = 0;
|
||||
}
|
||||
|
||||
TYPE_FLAGS (type) |= TYPE_FLAG_STUB_SUPPORTED;
|
||||
TYPE_STUB_SUPPORTED (type) = 1;
|
||||
if (die_is_declaration (die, cu))
|
||||
TYPE_FLAGS (type) |= TYPE_FLAG_STUB;
|
||||
TYPE_STUB (type) = 1;
|
||||
|
||||
/* We need to add the type field to the die immediately so we don't
|
||||
infinitely recurse when dealing with pointers to the structure
|
||||
@@ -4240,7 +4240,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
Types. When another package uses such a type, an incomplete DIE
|
||||
may be generated by the compiler. */
|
||||
if (die_is_declaration (die, cu))
|
||||
TYPE_FLAGS (type) |= TYPE_FLAG_STUB;
|
||||
TYPE_STUB (type) = 1;
|
||||
|
||||
return set_die_type (die, type, cu);
|
||||
}
|
||||
@@ -4362,7 +4362,7 @@ process_enumeration_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
xfree (fields);
|
||||
}
|
||||
if (unsigned_enum)
|
||||
TYPE_FLAGS (this_type) |= TYPE_FLAG_UNSIGNED;
|
||||
TYPE_UNSIGNED (this_type) = 1;
|
||||
}
|
||||
|
||||
new_symbol (die, this_type, cu);
|
||||
@@ -4700,7 +4700,8 @@ read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
|
||||
type_flags = gdbarch_address_class_type_flags
|
||||
(gdbarch, byte_size, addr_class);
|
||||
gdb_assert ((type_flags & ~TYPE_FLAG_ADDRESS_CLASS_ALL) == 0);
|
||||
gdb_assert ((type_flags & ~TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL)
|
||||
== 0);
|
||||
type = make_type_with_address_space (type, type_flags);
|
||||
}
|
||||
else if (TYPE_LENGTH (type) != byte_size)
|
||||
@@ -4847,7 +4848,7 @@ read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
|| cu->language == language_cplus
|
||||
|| cu->language == language_java
|
||||
|| cu->language == language_pascal)
|
||||
TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
|
||||
TYPE_PROTOTYPED (ftype) = 1;
|
||||
|
||||
/* Store the calling convention in the type if it's available in
|
||||
the subroutine die. Otherwise set the calling convention to
|
||||
@@ -4870,7 +4871,7 @@ read_subroutine_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
if (child_die->tag == DW_TAG_formal_parameter)
|
||||
nparams++;
|
||||
else if (child_die->tag == DW_TAG_unspecified_parameters)
|
||||
TYPE_FLAGS (ftype) |= TYPE_FLAG_VARARGS;
|
||||
TYPE_VARARGS (ftype) = 1;
|
||||
child_die = sibling_die (child_die);
|
||||
}
|
||||
|
||||
@@ -5000,7 +5001,7 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
TYPE_TARGET_TYPE (type) = target_type;
|
||||
|
||||
if (name && strcmp (name, "char") == 0)
|
||||
TYPE_FLAGS (type) |= TYPE_FLAG_NOSIGN;
|
||||
TYPE_NOSIGN (type) = 1;
|
||||
|
||||
return set_die_type (die, type, cu);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user