Re: [RFA] Type cleanups

Andrew Cagney
2002-05-13T03:18:34Z

> In order to fix gdb/277, I needed to move a lot of members of 'struct type'.
> This patch flushes out all (that I could find) direct accesses of these
> members instead of through the proper macros. It's possible that I missed
> some; if so, the next patch will cause whichever files I missed to stop
> compiling. I'm pretty sure I got them all, though. I also clean up the
> only remaining references to 'sizeof (struct type)': dstread.c had a clone
> of alloc_type, and hpread.c needed to call replace_type like the other
> readers.
>
> This patch should have no effect. On i386-linux, I get byte-for-byte
> identical GDB binaries (all 5591185 bytes of it, debugging information
> and all; no -g3 here).
>
> OK to commit?

Did you check all the cross targets build per MAINTAINERS? From memory
sh-hms[bfd] and avr[need to look] don't build at present (well as of
~2002-05-12-gmt).

If that has been checked, then yes ``obviously''.

Does this mean that ``struct type *'' is becoming opaque? Looking at
the next patch, no, sigh.

Andrew

> 2002-05-12 Daniel Jacobowitz <drow@mvista.com>
>
> * ax-gdb.c (gen_sign_extend, gen_fetch, gen_usual_unary)
> (gen_cast, gen_scale, gen_add, gen_sub, gen_binop, gen_deref)
> (gen_address_of, gen_struct_ref, gen_repeat): Use type
> access macros.
> * c-typeprint.c (cp_type_print_method_args): Likewise.
> (c_type_print_args): Likewise.
> * d10v-tdep.c (d10v_push_arguments): Likewise.
> (d10v_extract_return_value): Likewise.
> * expprint.c (print_subexp): Likewise.
> * gdbtypes.c (lookup_primitive_typename): Likewise.
> (lookup_template_type, add_mangled_type, print_arg_types): Likewise.
> * gdbtypes.h (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB)
> (TYPE_TARGET_STUB, TYPE_STATIC, TYPE_CONST, TYPE_VOLATILE)
> (TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_CODE_SPACE, TYPE_VARARGS)
> (TYPE_VECTOR): Likewise.
> * hpread.c (hpread_read_struct_type)
> (fix_static_member_physnames, fixup_class_method_type)
> (hpread_type_lookup): Likewise.
> * mdebugread.c (parse_symbol, parse_type): Likewise.
> * p-lang.c (is_pascal_string_type): Likewise.
> * valops.c (hand_function_call): Likewise.
> * x86-64-tdep.c (classify_argument): Likewise.
>
> * hpread.c (hpread_read_function_type)
> (hpread_read_doc_function_type): Call replace_type.
> * dstread.c (create_new_type): Delete.
> (decode_dst_structure, process_dst_function): Call alloc_type.
> Use type access macros.