]>
Commit | Line | Data |
---|---|---|
c45df9c1 MM |
1 | 1999-04-11 Mark Mitchell <mark@codesourcery.com> |
2 | ||
3 | * decl.c (push_binding): Fix typo in comment. | |
4 | ||
7ac7b28f MM |
5 | 1999-04-10 Mark Mitchell <mark@codesourcery.com> |
6 | ||
7 | * error.c (dump_type_real): If a typename is a template-id, put | |
8 | out the template arguments. | |
9 | (dump_expr): Handle TEMPLATE_ID_EXPR. | |
10 | * pt.c (lookup_template_class): Now that full arguments are | |
11 | available everywhere, remove code that tried to guess them. | |
12 | ||
11249cf0 MM |
13 | 1999-04-09 Mark Mitchell <mark@codesourcery.com> |
14 | ||
15 | * decl.c (make_typename_type): Complain if we don't find a type | |
16 | when trying to make a typename type for a non-template type. | |
17 | ||
b17e2870 JM |
18 | 1999-04-09 Jason Merrill <jason@yorick.cygnus.com> |
19 | ||
20 | * decl.c (start_decl): Pass attributes to grokdeclarator. | |
21 | (grokdeclarator): Handle attributes on constructor-syntax | |
22 | initializers. | |
23 | ||
3fc5037b MM |
24 | 1999-04-08 Mark Mitchell <mark@codesourcery.com> |
25 | ||
5082a355 MM |
26 | * error.c (dump_expr): Don't crash on INDIRECT_REFs whose operands |
27 | don't have types. | |
28 | ||
3fc5037b MM |
29 | * search.c (template_self_reference_p): Tweak. |
30 | ||
31 | 1999-04-07 Mark Mitchell <mark@codesourcery.com> | |
32 | ||
33 | * init.c (build_offset_ref): Don't build yet another weird data | |
34 | structure to describe overloaded functions. | |
35 | ||
4bb0968f MM |
36 | 1999-04-06 Mark Mitchell <mark@codesourcery.com> |
37 | ||
38 | * cp-tree.h (BASELINK_P): New macro. | |
39 | (SET_BASELINK_P): Likewise. | |
40 | * init.c (build_member_call): Remove needless assignment in if | |
41 | statement. | |
42 | * search.c (lookup_field_r): Fix handling when we are looking | |
43 | specifically for a type; these are not hidden by functions and | |
44 | variables. | |
45 | (lookup_member): Use SET_BASELINK_P. | |
46 | * tree.c (is_overloaded_fn): Use BASELINK_P. | |
47 | (really_overloaed_fn): Likewise. | |
48 | (get_first_fn): Likewise. | |
49 | ||
908c4e83 MM |
50 | 1999-04-05 Mark Mitchell <mark@codesourcery.com> |
51 | ||
a7d2d407 MM |
52 | * decl.c (lookup_name_current_level): Tweak, and improve |
53 | documentation. | |
54 | ||
908c4e83 MM |
55 | * class.c (maybe_fixup_vptrs): Remove declaration. |
56 | (build_class_init_list): Likewise. | |
57 | * decl.c (pushdecl_class_level): Call check_template_shadow here | |
58 | ... | |
59 | (push_class_level_binding): ... not here. | |
60 | * search.c (dfs_push_type_decls): Only avoid | |
61 | template-self-reference TYPE_DECLs if they are from base classes. | |
62 | ||
b5d9b9ab MM |
63 | 1999-04-04 Mark Mitchell <mark@codesourcery.com> |
64 | ||
65 | * pt.c (check_template_shadow): Don't treat OVERLOADs as _DECL | |
66 | nodes. Tidy. | |
67 | ||
e01a4a17 JM |
68 | 1999-04-03 Jason Merrill <jason@yorick.cygnus.com> |
69 | ||
70 | * class.c (maybe_fixup_vptrs, build_class_init_list): Lose. | |
71 | (finish_struct_1): Don't call build_class_init_list. | |
72 | ||
8f032717 MM |
73 | 1999-04-02 Mark Mitchell <mark@codesourcery.com> |
74 | ||
75 | * tinfo.h (__class_type_info): Fix illegal declaration. | |
76 | ||
77 | * cp-tree.def (TEMPLATE_ID_EXPR): Update comment. | |
78 | * cp-tree.h (INHERITED_VALUE_BINDING_P): New macro. | |
79 | (IDENTIFIER_CLASS_VALUE): Improve documentation. | |
80 | (is_properly_derived_from): Declare. | |
81 | (invalidate_class_lookup_cache): Likewise. | |
82 | (maybe_maybe_note_name_used_in_class): Likewise. | |
83 | (note_name_declared_in_class): Likewise. | |
84 | (push_using_decl): Remove duplicate declaration. | |
85 | (id_in_current_class): Remove declaration. | |
86 | (push_class_binding): Change prototype. | |
87 | (clear_identitifer_class_values): Declare. | |
88 | * call.c (is_properly_derived_from): Make it global. | |
89 | (build_new_function_call): Be careful about updating candidates. | |
90 | (build_new_method_call): Handle COMPONENT_REFs. Don't crash when | |
91 | asked to make illegal calls. | |
92 | * class.c: Include splay-tree.h. | |
93 | (class_stack_node): Add names_used slot. | |
94 | (check_member_decl_is_same_in_complete_scope): Remove. | |
95 | (add_method): Fix comment. Push the declaration into class | |
96 | scope. | |
97 | (finish_struct_1): When popping the class, pop the bindings too. | |
98 | Remove check for data member/function member conflict. | |
99 | (finish_struct): Remove calls to | |
100 | check_member_decl_is_same_in_complete_scope. Change calls to | |
101 | popclass. | |
102 | (pushclass): Clear names_used in the class stack entry. | |
103 | Use invalidate_class_lookup_cache to remove cached entries, rather | |
104 | than magic values with popclass. Clear IDENTIFIER_CLASS_VALUE | |
105 | before entering a new class. Remove dead code. Don't mess with | |
106 | current_function_decl when pushing declarations. | |
107 | (invalidate_class_lookup_cache): New function, split out from ... | |
108 | (popclass): Here. Clean up names_used on our way out. | |
109 | (instantiate_type): Adjust. | |
110 | (build_self_reference): Don't push the declaration here. | |
111 | (maybe_note_name_used_in_class): New function. | |
112 | (note_name_declared_in_class): Likewise. | |
113 | * decl.c (add_binding): Change prototype. | |
114 | (find_class_binding_level): New function. | |
115 | (innermost_nonclass_level): Likewise. | |
116 | (current_binding_level): Update documentation. | |
117 | (inner_binding_level): Remove. Replace with current_binding_level | |
118 | throughout. | |
119 | (push_binding_level): Remove special handling of | |
120 | class_binding_level. | |
121 | (pop_binding_level): Likewise. Use find_class_binding_level. | |
122 | (suspend_binding_level): Likewise. | |
123 | (global_bindings_p): Use innermost_nonclass_level. | |
124 | (toplevel_bindings_p): Likewise. | |
125 | (namespace_bindings_p): Likewise. | |
126 | (pseudo_global_level_p): Likewise. | |
127 | (push_binding): Clear INHERITED_VALUE_BINDING_P. | |
128 | (add_binding): Check for illegal multiple declarations. Return a | |
129 | value indicating whether or not the new binding was legal. | |
130 | (push_local_binding): Skip over class binding levels. Check | |
131 | return value from add_binding. | |
132 | (push_class_binding): Set INHERITED_VALUE_BINDING_P. Call | |
133 | note_name_declared_in_class. | |
134 | (pushlevel_class): Remove "fake out the rest of the compiler" | |
135 | code. | |
136 | (poplevel_class): Reset IDENTIFIER_CLASS_VALUEs. | |
137 | (clear_identifier_class_values): New function. | |
138 | (pop_from_top_level): Use it. | |
139 | (pop_everything): Tweak. | |
140 | (maybe_process_template_type_declaration): Don't push the | |
141 | declaration for the template here. | |
142 | (pushtag): Don't push tag declarations into class scope here. | |
143 | (pushdecl): Apply DeMorgan's law for readability. | |
144 | (pushdecl_class_level): Remove special-case code for | |
145 | TYPE_BEING_DEFINED. Handle OVERLOADs and anonymous unions. | |
146 | (push_class_level_bindng): Deal with inherited bindings. | |
147 | (lookup_name_real): Remove special-case code for | |
148 | TYPE_BEING_DEFINED, and some implicit typename magic. | |
149 | (grokdeclarator): Handle COMPONENT_REF for a template function. | |
150 | (build_enumerator): Don't call pushdecl_class_level here. | |
151 | (id_in_current_class): Remove. | |
152 | * decl2.c (grokfield): Don't call pushdecl_class_level or | |
153 | check_template_shadow. | |
154 | * errfn.c (cp_file_of): Don't declare. | |
155 | (cp_line_of): Likewise. | |
156 | * error.c (dump_decl): Handle an OVERLOAD. | |
157 | (cp_file_of): Likewise. | |
158 | (cp_line_of): Likewise. | |
159 | * init.c (build_member_call): Handle a COMPONENT_REF. | |
160 | * lex.c (do_identifier): Call maybe_note_name_used_in_class, not | |
161 | pushdecl_class_level. | |
162 | * method.c (hack_identifier): Build COMPONENT_REFs for references | |
163 | to member templates as well as member functions. Remove dead | |
164 | code. | |
165 | * parse.y (left_curly): Remove. | |
166 | (nonnested_type): Call maybe_note_name_used_in_class, not | |
167 | pushdecl_class_level. | |
168 | * parse.c: Regenerated. | |
169 | (nested_name_specifier_1): Likewise. | |
170 | * pt.c (check_explicit_specialization): Adjust, for robustness. | |
171 | (check_template_shadow): Handle OVERLOADs. | |
172 | (build_template_decl): Set DECL_CONSTRUCTOR_P on the | |
173 | TEMPLATE_DECL, if appropriate. | |
174 | * search.c (envelope_add_decl): Remove. | |
175 | (dfs_pushdecls): Likewise. | |
176 | (dfs_compress_decls): Likewise. | |
177 | (dfs_push_decls): New function. | |
178 | (dfs_push_type_decls): Likewise. | |
179 | (setup_class_bindings): Likewise. | |
180 | (template_self_reference_p): Likewise. | |
181 | (lookup_field_r): Use it. | |
182 | (looup_member): Remove old comment. Deal with ambiguity. | |
183 | (push_class_decls): Use dfs_push_decls and dfs_push_type_decls, | |
184 | and remove envelope processing. | |
185 | * semantics.c (begin_class_definition): Let pushclass push | |
186 | declarations for base classes. | |
187 | (finish_member_declaration): Push declarations into class scope. | |
188 | * typeck.c (build_component_ref): Just put an OVERLOAD into the | |
189 | COMPONENT_REF, not a TREE_LIST of an OVERLOAD. | |
190 | (build_x_function_call): Deal with OVERLOAD. Handle template-ids. | |
191 | * Makefile.in (class.o): Depend on splay-tree.h. | |
192 | ||
ae9e7e16 NS |
193 | Wed Mar 31 11:30:43 BST 1999 Nathan Sidwell <nathan@acm.org> |
194 | ||
195 | * cvt.c (convert_pointer_to_real): Use same_type_p. | |
196 | * typeck.c (comp_target_types): Use same_type_p. | |
197 | ||
51632249 JM |
198 | 1999-03-31 Jason Merrill <jason@yorick.cygnus.com> |
199 | ||
200 | * semantics.c (begin_inline_definitions, | |
201 | finish_inline_definitions): Rename from finish_default_args and | |
202 | begin_inline_definitions, respectively, to something that isn't a | |
203 | total lie. :) | |
204 | * parse.y (structsp): Adjust. | |
205 | ||
206 | * tree.c (hash_tree_cons): Remove obsolete via_* parms. | |
207 | (list_hash_lookup): Likewise. | |
208 | (hash_tree_chain): Adjust. | |
209 | * pt.c (tsubst): Adjust. | |
210 | (tsubst_arg_types): Use plain hash_tree_cons. | |
211 | * cp-tree.h (hash_tree_cons_simple): Lose. | |
212 | * parse.y (declmods, nonempty_cv_qualifiers): Use hash_tree_cons. | |
213 | ||
8e6befc1 KG |
214 | Wed Mar 31 10:48:29 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
215 | ||
216 | * Makefile.in (hash.h): Generate using gperf language 'C', not | |
217 | 'KR-C', so gperf uses the `const' keyword on strings. | |
218 | ||
219 | * gxx.gperf (resword): Const-ify a char*. | |
220 | ||
9e0781b5 JM |
221 | 1999-03-30 Jason Merrill <jason@yorick.cygnus.com> |
222 | ||
223 | * cp-tree.h (IDENTIFIER_AS_DESC, IDENTIFIER_AS_LIST, | |
224 | CLASSTYPE_BASELINK_VEC, CLASSTYPE_N_SUPERCLASSES, | |
225 | CLASSTYPE_N_BASECLASSES, CLASSTYPE_MAX_DEPTH, | |
226 | CLASSTYPE_BASE_INIT_LIST, CLASSTYPE_AS_LIST, CLASSTYPE_ID_AS_LIST, | |
227 | CLASSTYPE_BINFO_AS_LIST): Remove cruft. | |
228 | * class.c, lex.c, parse.y, ptree.c, search.c, semantics.c, | |
229 | tree.c: Adjust. | |
230 | ||
9af3a23b JM |
231 | 1999-03-29 Jason Merrill <jason@yorick.cygnus.com> |
232 | ||
233 | * decl2.c (lang_decode_option): Remove -Wsign-promo from -Wall. | |
234 | ||
edef8288 JM |
235 | 1999-03-28 Jason Merrill <jason@yorick.cygnus.com> |
236 | ||
237 | * pt.c (fn_type_unification): Ignore 'this' parm from conversion ops. | |
238 | ||
0c0aac2f MM |
239 | 1999-03-27 Mark Mitchell <mark@codesourcery.com> |
240 | ||
241 | * cp-tree.h (add_friend): Declare. | |
242 | (add_friends): Likewise. | |
243 | * friend.c (add_friend): Make it global. Don't add to | |
244 | DECL_BEFRIENDING_CLASSES if the befriending class is a template. | |
245 | (add_friends): Make it global. | |
246 | (make_friend_class): Don't add to DECL_BEFRIENDING_CLASSES if the | |
247 | befriending class is a template. | |
248 | * parse.y (component_decl_1): Fix typo in comment. | |
249 | * parse.c: Regenerated. | |
250 | * pt.c (instantiate_class_template): Use add_friend and | |
251 | add_friends rather that duplicating some of their functionality | |
252 | here. | |
253 | ||
90e734a8 JM |
254 | 1999-03-27 Jason Merrill <jason@yorick.cygnus.com> |
255 | ||
256 | * call.c (build_field_call): Unify 'this' and non-'this' cases. | |
257 | ||
258 | * typeck.c (build_indirect_ref): Check for 'this' sooner. | |
259 | ||
d8e178a0 KG |
260 | Fri Mar 26 10:20:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
261 | ||
262 | * call.c (op_error): Const-ify a char*. | |
263 | (add_candidate, source_type, add_warning): Add static prototype. | |
264 | (print_z_candidates): Const-ify a char*. | |
265 | ||
266 | * class.c (resolve_address_of_overloaded_function, | |
267 | fixed_type_or_null, build_vtable_entry_ref): Add static prototype. | |
268 | (get_vtable_name, finish_struct_1): Const-ify a char*. | |
269 | ||
270 | * cvt.c (convert_to_reference): Likewise. | |
271 | ||
272 | * decl.c (redeclaration_error_message, record_builtin_type, | |
273 | record_unknown_type, member_function_or_else, bad_specifiers): | |
274 | Likewise. | |
275 | (find_binding, select_decl, unqualified_namespace_lookup, | |
276 | lookup_flags, qualify_lookup, record_builtin_java_type, tag_name): | |
277 | Add static prototype. | |
278 | (warn_extern_redeclared_static, duplicate_decls, pushdecl, | |
279 | implicitly_declare, record_builtin_java_type, define_function, | |
280 | grok_op_properties, tag_name): Const-ify a char*. | |
281 | ||
282 | * cp-tree.h (FORMAT_VBASE_NAME): Allow parameter `BUF' to be const. | |
283 | (define_function, finish_builtin_type): Const-ify a char*. | |
284 | (cp_error, cp_error_at, cp_warning, cp_warning_at, cp_pedwarn, | |
285 | cp_pedwarn_at, cp_compiler_error, cp_sprintf): Add prototype args. | |
286 | (file_name_nondirectory): Const-ify a char*. | |
287 | (init_filename_times): Don't prototype. | |
288 | (compiler_error): Prototype. | |
289 | (yyerror, init_repo): Const-ify a char*. | |
290 | (build_srcloc): Don't prototype. | |
291 | (build_x_indirect_ref, build_indirect_ref, build_component_addr): | |
292 | Const-ify a char*. | |
293 | (warn_for_assignment): Don't prototype. | |
294 | (convert_for_initialization, readonly_error, check_for_new_type, | |
295 | GNU_xref_begin, GNU_xref_file, GNU_xref_ref, GNU_xref_call): | |
296 | Const-ify a char*. | |
297 | ||
298 | * decl2.c (acceptable_java_type, output_vtable_inherit, | |
299 | setup_initp, start_objects, finish_objects, do_dtors, do_ctors, | |
300 | merge_functions, decl_namespace, validate_nonmember_using_decl, | |
301 | do_nonmember_using_decl): Add static prototype. | |
302 | (lang_f_options): Const-ify a char*. | |
303 | (finish_builtin_type): Likewise. | |
304 | (add_function, arg_assoc_namespace, arg_assoc_class): Add static | |
305 | prototype. | |
306 | ||
307 | * errfn.c: Include cp-tree.h. | |
308 | (cp_thing): Add static prototype. | |
309 | (compiler_error): Don't protoptype. | |
310 | (cp_compiler_error): Cast `compiler_error' to `errorfn' before | |
311 | passing it to `cp_thing'. | |
312 | ||
313 | * error.c (interesting_scope_p): Add static prototype. | |
314 | ||
315 | * except.c (build_eh_type_type, build_eh_type_type_ref): Const-ify | |
316 | a char*. | |
317 | ||
318 | * init.c (compiler_error): Don't prototype. | |
319 | (member_init_ok_or_else): Const-ify a char*. | |
320 | (build_java_class_ref): Add static prototype. | |
321 | ||
322 | * lex.c (compiler_error): Don't prototype. | |
323 | (get_time_identifier, interface_strcmp, extend_token_buffer, | |
324 | handle_cp_pragma): Const-ify a char*. | |
325 | (is_global, init_filename_times): Add static prototype. | |
326 | (file_name_nondirectory, cplus_tree_code_name): Const-ify a char*. | |
327 | (compiler_error): Change from fixed args to variable args. | |
328 | (yyerror): Const-ify a char*. | |
329 | ||
330 | * parse.y (cond_stmt_keyword): Const-ify a char*. | |
331 | (parse_decl): Add static prototype. | |
332 | ||
333 | * pt.c (template_args_equal, print_template_context): Likewise. | |
334 | (print_candidates, check_default_tmpl_args): Const-ify a char*. | |
335 | (instantiate_class_template): Likewise. | |
336 | ||
337 | * repo.c (get_base_filename, open_repo_file, init_repo): Likewise. | |
338 | ||
339 | * rtti.c (call_void_fn, expand_generic_desc, expand_si_desc, | |
340 | expand_class_desc, expand_ptr_desc, expand_attr_desc): Likewise. | |
341 | ||
342 | * search.c (lookup_field_info, lookup_member): Likewise. | |
343 | (lookup_member): Cast the first argument of `bzero' to a PTR. | |
344 | ||
345 | * sig.c (compiler_error): Don't prototype. | |
346 | (build_signature_pointer_or_reference_nam): Const-ify a char*. | |
347 | (get_sigtable_name, build_member_function_pointer): Likewise. | |
348 | ||
349 | * tree.c (compiler_error): Don't prototype. | |
350 | (no_linkage_helper, build_srcloc): Add static prototype. | |
351 | (build_vbase_pointer_fields): Const-ify a char*. | |
352 | (__eprintf): Don't unnecessarily handle `const' when !__STDC__. | |
353 | ||
354 | * typeck.c (compiler_error): Don't prototype. | |
355 | (convert_for_assignment): Const-ify a char*. | |
356 | (comp_cv_target_types): Add static prototype. | |
357 | (build_x_indirect_ref, build_indirect_ref, convert_arguments, | |
358 | build_component_addr, build_unary_op, convert_for_initialization): | |
359 | Const-ify a char*. | |
360 | ||
361 | * typeck2.c (ack): Add static prototype and change from fixed args | |
362 | to variable args. | |
363 | (readonly_error, check_for_new_type): Const-ify a char*. | |
364 | ||
365 | * xref.c (_XREF_FILE, find_file, filename, fctname, declname, | |
366 | fixname, open_xref_file, classname, GNU_xref_begin): Likewise. | |
367 | (GNU_xref_file): Likewise. Also use `xmalloc' instead of `malloc'. | |
368 | (GNU_xref_end_scope, GNU_xref_ref, GNU_xref_decl, GNU_xref_call, | |
369 | gen_assign, GNU_xref_member): Const-ify a char*. | |
370 | ||
5197829d ML |
371 |