* NEWS: Mention pointer to member improvements.
[external/binutils.git] / gdb / ChangeLog
1 2007-01-03  Daniel Jacobowitz  <dan@codesourcery.com>
2
3         * NEWS: Mention pointer to member improvements.
4         * Makefile.in (gnu-v3-abi.o): Delete special rule.
5         (eval.o, gnu-v3-abi.o, ia64-tdep.o): Update.
6         * ada-valprint.c (ada_print_scalar): Update for new type codes.
7         * c-typeprint.c (c_print_type): Update for new type codes.
8         (c_type_print_varspec_prefix, c_type_print_varspec_suffix)
9         (c_type_print_base): Likewise.
10         (c_type_print_args): Rewrite.
11         * c-valprint.c (c_val_print): Update for new type codes.  Remove
12         support for references to members.  Treat methods like functions.
13         * cp-abi.c (cplus_print_method_ptr, cplus_method_ptr_size)
14         (cplus_make_method_ptr, cplus_method_ptr_to_value): New.
15         * cp-abi.h (cplus_print_method_ptr, cplus_method_ptr_size)
16         (cplus_make_method_ptr, cplus_method_ptr_to_value): New prototypes.
17         (struct cp_abi_ops): Add corresponding members.
18         * cp-valprint.c (cp_print_class_method): Delete.
19         (cp_find_class_member): New function.
20         (cp_print_class_member): Use it.  Simplify support for bogus
21         member pointers.
22         * dwarf2read.c (quirk_gcc_member_function_pointer): Use
23         lookup_methodptr_type.
24         (read_tag_ptr_to_member_type): Likewise, and lookup_memberptr_type.
25         * eval.c (evaluate_subexp_standard): Implement EVAL_SKIP for
26         OP_SCOPE.  Update call to value_aggregate_elt.  Rewrite member
27         pointer support.
28         (evaluate_subexp_for_address): Handle OP_SCOPE explicitly.  Handle
29         references returned by user defined operators.
30         * f-typeprint.c (f_print_type, f_type_print_varspec_prefix)
31         (f_type_print_varspec_suffix): Remove support for member pointers.
32         * gdbtypes.c (lookup_memberptr_type): Renamed from lookup_member_type
33         and adjusted.
34         (smash_to_memberptr_type): Likewise, from smash_to_member_type.
35         (lookup_methodptr_type): New.
36         (rank_one_type): Adjust for TYPE_CODE_MEMBERPTR.
37         (recursive_dump_type): Update for new types.
38         * gdbtypes.h (enum type_code): Replace TYPE_CODE_MEMBER with
39         TYPE_CODE_MEMBERPTR and TYPE_CODE_METHODPTR.
40         (lookup_memberptr_type, lookup_methodptr_type)
41         (smash_to_memberptr_type): New prototypes.
42         (smash_to_method_type): Formatting fix.
43         (lookup_member_type, smash_to_member_type): Delete prototypes.
44         * gnu-v3-abi.c (gnuv3_get_vtable, gnuv3_get_virtual_fn): New.
45         Do not rely on debug information for the vptr or the method's
46         enclosing type.  Handle function descriptors for IA64.
47         (gnuv3_virtual_fn_field): Rewrite using the new functions.
48         (gnuv3_find_method_in, gnuv3_print_method_ptr)
49         (gnuv3_method_ptr_size, gnuv3_make_method_ptr)
50         (gnuv3_method_ptr_to_value): New.
51         (init_gnuv3_ops): Set new members of gnu_v3_abi_ops.
52         * hpread.c (hpread_type_lookup): Update for new types.
53         * infcall.c (value_arg_coerce): Likewise.
54         * m2-typeprint.c (m2_print_type): Remove explicit support
55         for member pointers.
56         * m2-valprint.c (m2_val_print): Likewise.
57         * p-typeprint.c (pascal_type_print_varspec_prefix)
58         (pascal_type_print_varspec_suffix, pascal_type_print_base): Likewise.
59         * p-valprint.c (pascal_val_print): Likewise.
60         (pascal_object_print_class_method, pascal_object_print_class_member):
61         Delete.
62         * p-lang.h (pascal_object_print_class_method)
63         (pascal_object_print_class_member): Delete prototypes.
64         * stabsread.c (read_type): Update for new types.
65         * typeprint.c (print_type_scalar): Likewise.
66         * valops.c (value_struct_elt_for_reference, value_namespace_elt)
67         (value_maybe_namespace_elt, value_aggregate_elt): Add want_address
68         argument.  Construct a pointer to member if the address of a
69         function or data member is requested.
70         (value_cast_pointers): Don't modify the input value.
71         (value_cast): Adjust pointer to member handling for new types.
72         Allow null pointer to member constants.  Don't modify the input
73         value.
74         (value_ind): Remove pointer to member check.  Handle function
75         descriptors for function pointers.
76         (value_struct_elt, value_find_oload_method_list, check_field):
77         Remove pointer to member checks.
78         * value.c (unpack_long): Allow pointers to data members.
79         (value_from_longest): Allow member pointers.
80         * value.h (value_aggregate_elt): Add want_address.
81         * varobj.c (c_variable_editable): Remove check for members.
82         * gdbarch.sh: Add vtable_function_descriptors and vbit_in_delta.
83         * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Handle descriptors
84         in virtual tables.
85         (ia64_gdbarch_init): Call set_gdbarch_vtable_function_descriptors.
86         * c-lang.h (cp_print_class_method): Delete prototype.
87         * arm-tdep.c (arm_gdbarch_init): Call set_gdbarch_vbit_in_delta.
88         * mips-tdep.c (mips_gdbarch_init): Likewise.
89         * gdbarch.c, gdbarch.h: Regenerated.
90
91 2007-01-01  Mark Kettenis  <kettenis@gnu.org>
92
93         * rs6000-tdep.c (rs6000_use_struct_convention)
94         (rs6000_extract_return_value, rs6000_store_return_value)
95         (rs6000_extract_struct_value_address): Remove.
96         (rs6000_return_value): New function.
97         (rs6000_gdbarch_init): Don't set deprecated_extract_return_value,
98         store_return_value, deprecated_extract_struct_value_address and
99         deprecated_use_struct_convention.  Use rs6000_return_value
100         instead.
101
102 2007-01-02  Nick Roberts  <nickrob@snap.net.nz>
103
104         * mi/mi-cmds.c (mi_cmds): Remove entries for -display-delete,
105         -display-disable, -display-enable, -display-insert and
106         -display-list.
107
108 2006-01-01  Joel Brobecker  <brobecker@adacore.com>
109
110         * breakpoint.c (remove_breakpoint): Remove dead code.
111
112 2007-01-01  Nick Roberts  <nickrob@snap.net.nz>
113
114         * varobj.c: Include block.h.
115         (c_value_of_root): Check scope within nested statements.
116
117 2007-01-01  Mark Kettenis  <kettenis@gnu.org>
118
119         * mi/mi-main.c (mi_cmd_data_write_register_values): Use
120         regcache_cooked_write_signed instead of
121         deprecated_write_register_bytes.
122
123 2007-01-01  Joel Brobecker  <brobecker@adacore.com>
124
125         * config/djgpp/fnchange.lst: Add entry for ChangeLog-2006.
126
127 2007-01-01  Joel Brobecker  <brobecker@adacore.com>
128
129         Followed the Start of New Year Procedure:
130         * ChangeLog-2006: New file, containing all the entries for 2006.
131         * ChangeLog: Removed all 2006 entries, and changed the reference
132         to the previous ChangeLog to point to ChangeLog 2006.
133         * top.c (print_gdb_version): Update copyright year.
134
135 2007-01-01  Mark Kettenis  <kettenis@gnu.org>
136
137         * Makefile.in (remote-sds.o): Remove.
138         * remote-sds.c: Delete.
139
140 For older changes see ChangeLog-2006.
141 \f
142 Local Variables:
143 mode: change-log
144 left-margin: 8
145 fill-column: 74
146 version-control: never
147 End: