]>
Commit | Line | Data |
---|---|---|
665f2503 RK |
1 | Fri Mar 17 08:09:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
2 | ||
3 | * class.c (build_vbase_path): Use integer_zerop. | |
4 | (build_vtable_entry): Use tree_low_cst. | |
5 | (get_vfield_offset): Use bit_position. | |
6 | (dfs_modify_vtables): New variable vindex_val; `i' is HOST_WIDE_INT. | |
7 | Use tree_low_cst. | |
8 | (check_bitfield_decl): Set DECL_SIZE using convert. | |
9 | (build_base_field): Set DECL_SIZE and DECL_SIZE_UNIT using size_binop. | |
10 | (layout_virtual_bases): DSIZE is unsigned HOST_WIDE_INT. | |
11 | Use tree_low_cst. | |
12 | (finish_struct_1): Use bit_position. | |
13 | (dump_class_hierarchy): Use tree_low_cst. | |
14 | * cp-tree.h (min_precision): Add declaration. | |
15 | * decl.c (xref_tag, xref_basetypes): Use tree_low_cst. | |
16 | * error.c (dump_type_suffix): Use host_integerp and tree_low_cst. | |
17 | (dump_expr): Use integer_zerop, host_integerp, and tree_low_cst. | |
18 | * expr.c (cplus_expand_constant): Use bit_position. | |
19 | * init.c (build_vec_init): Use host_integerp and tree_low_cst. | |
20 | * rtti.c (get_base_offset): Use bit_position. | |
21 | * typeck.c (build_binary_op): Use integer_zerop, compare_tree_int, | |
22 | host_integerp, and tree_low_cst. | |
23 | (pointer_int_sum): Use integer_zerop. | |
24 | (build_component_addr): Use bit_position. | |
25 | ||
66cc4757 NS |
26 | 2000-03-17 Nathan Sidwell <nathan@codesourcery.com> |
27 | ||
28 | * typeck.c (require_complete_type): Don't assume size_zero_node. | |
29 | (complete_type_or_else): Likewise. | |
30 | ||
64b83f2a SG |
31 | 2000-03-16 Steven Grady <grady@digitaldeck.com> |
32 | Jason Merrill <jason@casey.cygnus.com> | |
33 | ||
34 | * rtti.c (build_dynamic_cast_1): Improve diagnostics. | |
35 | ||
5add10fd NS |
36 | 2000-03-16 Nathan Sidwell <nathan@codesourcery.com> |
37 | ||
38 | * decl2.c (grokfield): Bail out if type is error_mark_node. | |
39 | ||
f03eebe3 NS |
40 | 2000-03-15 Nathan Sidwell <nathan@codesourcery.com> |
41 | ||
42 | * tinfo2.cc (__ptr_to_member_data): Rename to ... | |
43 | (__pointer_to_member_data): ... here. Adjust. | |
44 | * rtti.c (create_tinfo_types): Adjust. | |
45 | ||
1f4cb92b NS |
46 | 2000-03-15 Nathan Sidwell <nathan@codesourcery.com> |
47 | ||
48 | * cp-tree.h (CPTI_REF_DESC_TYPE, ref_desc_type_node): Remove. | |
49 | * decl.c (ref_desc_type_node): Undocument. | |
50 | * rtti.c (ptr_ref_initializer): Rename to ... | |
51 | (ptr_initializer): ... here. Adjust comments. | |
52 | (ptmd_initializer): Fix comment thinko. | |
53 | (synthesize_tinfo_var): Remove REFERENCE_TYPE case. | |
54 | (create_tinfo_types): Remove ref_desc_type_node init. | |
55 | * tinfo2.cc (__reference_type_info): Remove. | |
56 | ||
f78c7bc6 NS |
57 | 2000-03-15 Nathan Sidwell <nathan@codesourcery.com> |
58 | ||
59 | * decl.c (cp_finish_decl): Remove obsolete comment. | |
60 | ||
61 | * typeck.c (build_ptrmemfunc1): Kill uninitialized warning. | |
62 | ||
5c24fba6 MM |
63 | 2000-03-14 Mark Mitchell <mark@codesourcery.com> |
64 | ||
65 | * cp-tree.h: Tweak documentation. | |
66 | * class.c (build_vbase_pointer_fields): Layout the fields, too. | |
67 | (avoid_overlap): Remove. | |
68 | (get_binfo_offset_as_int): New function. | |
69 | (dfs_serach_base_offsets): Likewise. | |
70 | (layout_nonempty_base_or_field): Likewise. | |
71 | (build_base_field): Layout fields here. Avoid placing two objects | |
72 | of the same type at the same address, under the new ABI. | |
73 | (build_base_fields): Adjust accordingly. | |
74 | (create_vtable_ptr): Return the new field, but don't attach it to | |
75 | TYPE_FIELDS. | |
76 | (remove_base_field): Remove. | |
77 | (remove_base_fields): Remove. | |
78 | (layout_basetypes): Adjust accordingly. | |
79 | (layout_class_type): Call layout_field for each field, rather than | |
80 | just making a wholesale call to layout_type. | |
81 | ||
d9420976 JS |
82 | 2000-03-14 Jeff Sturm <jsturm@sigma6.com> |
83 | ||
84 | * except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw. | |
85 | ||
93ca4ba7 JM |
86 | 2000-03-13 Jason Merrill <jason@casey.cygnus.com> |
87 | ||
88 | * decl.c (grokfndecl): Set TREE_NOTHROW if TYPE_NOTHROW_P. | |
89 | ||
90 | * except.c (dtor_nothrow): New fn. | |
91 | (do_pop_exception): Use it. Take type parm. | |
92 | (push_eh_cleanup): Take type parm. | |
93 | (expand_start_catch_block): Pass it. | |
94 | (build_eh_type_type_ref): Accept null type. | |
95 | ||
3afb32a4 MM |
96 | 2000-03-12 Mark Mitchell <mark@codesourcery.com> |
97 | ||
98 | * cp-tree.h (revert_static_member_fn): Change prototype. | |
99 | * decl.c (grokfndecl): Adjust call to revert_static_member_fn. | |
100 | (grok_op_properties): Likewise. | |
101 | (start_function): Likewise. | |
102 | (revert_static_member_fn): Simplify. | |
103 | * pt.c (check_explicit_specialization): Adjust call to | |
104 | revert_static_member_fn. | |
105 | ||
74b846e0 MM |
106 | 2000-03-11 Mark Mitchell <mark@codesourcery.com> |
107 | ||
108 | * cp-tree.h (scope_kind): New type. | |
109 | (tmpl_spec_kind): Likewise. | |
110 | (declare_pseudo_global_level): Remove. | |
111 | (pseudo_global_level_p): Rename to template_parm_scope_p. | |
112 | (pushlevel): Remove declaration. | |
113 | (begin_scope): New function. | |
114 | (finish_scope): Likewise. | |
115 | (current_tmpl_spec_kind): Likewise. | |
116 | * decl.c (struct binding_level): Shorten parm_flag to 2 bits. | |
117 | Shorten keep to 2 bits. Rename pseudo_global to template_parms_p. | |
118 | Add template_spec_p. | |
119 | (toplevel_bindings_p): Adjust. | |
120 | (declare_pseudo_global_level): Remove. | |
121 | (pseudo_global_level_p): Rename to template_parm_scope_p. | |
122 | (current_tmpl_spec_kind): New function. | |
123 | (begin_scope): Likewise. | |
124 | (finish_scope): Likewise. | |
125 | (maybe_push_to_top_level): Adjust. | |
126 | (maybe_process_template_type_declaration): Likewise. | |
127 | (pushtag): Likewise. | |
128 | (pushdecl_nonclass_level): Likewise. | |
129 | (lookup_tag): Likewise. | |
130 | (grokfndecl): Handle member template specializations. Share | |
131 | constructor and non-constructor code. | |
132 | * decl2.c (check_classfn): Handle member template specializations. | |
133 | * pt.c (begin_template_parm_list): Use begin_scope. | |
134 | (begin_specialization): Likewise. | |
135 | (end_specialization): Likewise. | |
136 | (check_explicit_specialization): Use current_tmpl_spec_kind. | |
137 | Handle member template specializations. | |
138 | (end_template_decl): Use finish_scope. Remove call to | |
139 | get_pending_sizes. | |
140 | (push_template_decl_real): Remove bogus error message. | |
141 | (tsubst_decl): Fix typo in code contained in comment. | |
142 | (instantiate_template): Handle member template specializations. | |
143 | (most_general_template): Likewise. | |
144 | ||
b4f4233d GDR |
145 | 2000-03-11 Gabriel Dos Reis <gdr@codesourcery.com> |
146 | ||
147 | * lex.c (whitespace_cr): Compress consecutive calls to warning(). | |
148 | (do_identifier): Ditto for error(). | |
149 | ||
150 | * pt.c (convert_nontype_argument): Ditto for cp_error(). | |
151 | (convert_template_argument): Ditto for cp_pedwarn(). | |
152 | ||
1ef9f749 JM |
153 | 2000-03-11 Jason Merrill <jason@casey.cygnus.com> |
154 | ||
155 | * exception.cc (__check_null_eh_spec): New fn. | |
156 | * except.c (expand_end_eh_spec): Call it if the spec is throw(). | |
157 | ||
cf74fb86 JM |
158 | 2000-03-10 Jason Merrill <jason@casey.cygnus.com> |
159 | ||
160 | * decl.c (push_throw_library_fn): Take the FUNCTION_TYPE. | |
161 | * except.c (expand_end_eh_spec): Add the return type. | |
162 | * rtti.c (throw_bad_cast): Add the parmtypes. | |
163 | (throw_bad_typeid): Likewise. | |
164 | ||
165 | * semantics.c (expand_stmt): Only leave out rtl for unused | |
166 | artificials, and set DECL_IGNORED_P on them as well. | |
167 | * decl.c (wrapup_globals_for_namespace): Likewise. | |
168 | ||
169 | 2000-03-09 Nathan Sidwell <nathan@codesourcery.com> | |
170 | ||
171 | * decl.c (maybe_commonize_var): Skip all artificial decls. | |
172 | * pt.c (tsubst_decl): Don't copy TREE_ASM_WRITTEN. | |
173 | ||
0c11ada6 JM |
174 | 2000-03-10 Jason Merrill <jason@casey.cygnus.com> |
175 | ||
1660cb3a JM |
176 | * lang-options.h, decl2.c: Add -fno-enforce-eh-specs. |
177 | * cp-tree.h: Declare flag_enforce_eh_specs. | |
178 | * decl.c (store_parm_decls, finish_function): Check it. | |
179 | ||
180 | C library functions don't throw. | |
181 | * Makefile.in (cfns.h): New target. | |
182 | (except.o): Depend on it. | |
183 | * Make-lang.in (cc1plus): Depend on cfns.gperf. | |
184 | * cfns.gperf: New file. | |
185 | * cfns.h: Generated. | |
186 | * except.c: Include it. | |
187 | (nothrow_libfn_p): New fn. | |
188 | * decl.c (grokfndecl): Use it. | |
189 | * cp-tree.h: Declare it. | |
190 | ||
0c11ada6 JM |
191 | * decl.c (push_overloaded_decl_1, auto_function, |
192 | define_function): Lose. | |
193 | (build_library_fn_1): New static fn. | |
194 | (builtin_function): Use it. | |
195 | (get_atexit_node): Use build_library_fn_ptr. | |
196 | (build_library_fn, build_cp_library_fn, build_library_fn_ptr, | |
197 | build_cp_library_fn_ptr, push_library_fn, push_cp_library_fn, | |
198 | push_void_library_fn, push_throw_library_fn): New fns. | |
199 | * cp-tree.h: Declare them. | |
200 | (cp_tree_index): Remove CPTI_BAD_CAST, CPTI_BAD_TYPEID. | |
201 | (throw_bad_cast_node, throw_bad_typeid_node): Lose. | |
202 | * except.c (init_exception_processing, call_eh_info, do_pop_exception, | |
203 | (expand_end_eh_spec, alloc_eh_object, expand_throw): Use above fns. | |
204 | * rtti.c (build_runtime_decl): Lose. | |
205 | (throw_bad_cast, throw_bad_typeid, get_tinfo_decl, | |
206 | build_dynamic_cast_1, expand_si_desc, expand_class_desc, | |
207 | expand_ptr_desc, expand_attr_desc, expand_generic_desc): Use above fns. | |
208 | ||
209 | * call.c (build_call): Remove result_type parm. | |
210 | Call mark_used on unused artificial fns. | |
211 | * init.c, method.c, typeck.c, except.c, rtti.c: Adjust. | |
212 | ||
12a22e76 JM |
213 | 2000-03-09 Jason Merrill <jason@casey.cygnus.com> |
214 | ||
215 | * call.c (build_call): Set TREE_NOTHROW on the CALL_EXPR as | |
216 | appropriate. | |
217 | * decl.c (define_function): Set TREE_NOTHROW on the FUNCTION_DECL. | |
218 | * except.c (call_eh_info, alloc_eh_object, expand_throw): Set | |
219 | TREE_NOTHROW or TREE_THIS_VOLATILE on the function as appropriate. | |
220 | * rtti.c (build_runtime_decl, get_tinfo_decl, build_dynamic_cast_1, | |
221 | expand_si_desc, expand_class_desc, expand_ptr_desc, expand_attr_desc, | |
222 | expand_generic_desc): Likewise. | |
223 | ||
99f80c8b NS |
224 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
225 | ||
226 | * exception.cc (__cp_pop_exception): Cleanup the original object. | |
227 | ||
17708e90 NS |
228 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
229 | ||
230 | * decl.c (grok_op_properties): Merge conversion to void warning | |
231 | with other silly op warnings. | |
232 | ||
96756199 JM |
233 | 2000-03-08 Jason Merrill <jason@casey.cygnus.com> |
234 | ||
235 | * typeck2.c (process_init_constructor): Set TREE_PURPOSE of | |
236 | array CONSTRUCTOR elements. Don't use expr_tree_cons. | |
237 | ||
2ce07e2d NS |
238 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
239 | ||
240 | * decl.c (cp_make_fname_decl): New function. | |
241 | (wrapup_globals_for_namespace): Don't emit unused static vars. | |
242 | (init_decl_processing): Remove comment about use of | |
243 | array_domain_type. Set make_fname_decl. | |
244 | (cp_finish_decl): Remove __FUNCTION__ nadgering. | |
245 | * semantics.c (begin_compound_stmt): Remove | |
246 | current_function_name_declared flagging. | |
247 | (expand_stmt): Don't emit unused local statics. | |
248 | * typeck.c (decay_conversion): Don't treat __FUNCTION__ decls | |
249 | specially. | |
250 | ||
2abda418 NS |
251 | 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
252 | ||
253 | * typeck.c (convert_for_assignment): Don't look at array | |
254 | initializer. | |
255 | * call.c (convert_like_real): Likewise. | |
256 | ||
15f1a795 JM |
257 | 2000-03-07 Jason Merrill <jason@casey.cygnus.com> |
258 | ||
1c089156 JM |
259 | Add initial support for '\uNNNN' specifier. |
260 | * lex.c (read_ucs): New fn. | |
261 | (readescape, skip_white_space): Call it. | |
262 | (is_extended_char, is_extended_char_1): New fns. | |
263 | (utf8_extend_token): New fn, #if 0'd out. | |
264 | (real_yylex): Treat extended chars like letters. | |
265 | ||
15f1a795 JM |
266 | * search.c (note_debug_info_needed): Walk the bases even if we |
267 | weren't deferring the type itself. | |
268 | ||
3cce094d KG |
269 | 2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
270 | ||
271 | * decl2.c (finish_objects): Constify a char*. | |
272 | ||
273 | * method.c (emit_thunk): Likewise. | |
274 | ||
55df0175 NS |
275 | 2000-03-06 Nathan Sidwell <nathan@codesourcery.com> |
276 | ||
277 | * typeck.c (dubious_conversion_warnings): Look through | |
278 | REFERENCE_TYPE. | |
279 | ||
efd3d4a6 RK |
280 | Mon Mar 6 08:46:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
281 | ||
05bccae2 RK |
282 | * class.c (dfs_modify_vtables): I is now unsigned. |
283 | (check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int. | |
284 | (build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT. | |
285 | * error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned. | |
286 | * init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. | |
287 | * method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned. | |
288 | * typeck.c (build_binary_op, case TRUNC_DIV_EXPR): | |
289 | Call integer_all_onesp. | |
290 | * typeck2.c (process_init_constructor): Use compare_tree_int. | |
291 | ||
efd3d4a6 RK |
292 | * lang-specs.h (as): Don't call if -syntax-only. |
293 | ||
64dc53f3 MM |
294 | 2000-03-06 Mark Mitchell <mark@codesourcery.com> |
295 | ||
296 | * expr.c (cplus_expand_expr, case STMT_EXPR): Don't set | |
297 | RTL_EXPR_HAS_NO_SCOPE after all. | |
298 | ||
971cbc14 MM |
299 | 2000-03-05 Mark Mitchell <mark@codesourcery.com> |
300 | ||
301 | * expr.c (cplus_expand_expr, case STMT_EXPR): Use | |
302 | expand_start_stmt_expr and expand_end_stmt_expr directly. Set | |
303 | RTL_EXPR_HAS_NO_SCOPE. | |
304 | ||
305 | * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little | |
306 | later. | |
307 | ||
308 | * dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P. | |
309 | ||
c3f08228 NS |
310 | 2000-03-05 Nathan Sidwell <nathan@codesourcery.com> |
311 | ||
312 | * call.c (convert_like): Macrofy. | |
313 | (convert_like_with_context): New macro. | |
314 | (convert_like_real): Renamed from convert_like. Add calling | |
315 | context parameters, for diagnostics. Add recursive flag. Call | |
316 | dubious_conversion_warnings for outer conversion. | |
317 | (build_user_type_conversion): Use convert_like_with_context. | |
318 | (build_over_call): Likewise. Don't warn about dubious | |
319 | conversions here. Adjust convert_default_arg calls. | |
320 | (convert_default_arg): Add context parameters for diagnostics. | |
321 | Pass throught to convert_like_with_context. | |
322 | * cp-tree.h (convert_default_arg): Add context parameters. | |
323 | (dubious_conversion_warnings): Prototype new function. | |
324 | * typeck.c (convert_arguments): Adjust convert_default_arg call. | |
325 | (dubious_conversion_warnings): New function, broken | |
326 | out of convert_for_assignment. | |
327 | (convert_for_assignment): Adjust. | |
328 | ||
6db20143 JM |
329 | 2000-03-03 Jason Merrill <jason@casey.cygnus.com> |
330 | ||
331 | * decl2.c (key_method): Break out from... | |
332 | (import_export_vtable, import_export_class): ...here. | |
333 | ||
334 | * decl.c (finish_function): Don't mess with flag_keep_inline_functions. | |
335 | * decl2.c (finish_vtable_vardecl): Don't check decl_function_context. | |
336 | ||
337 | * search.c (note_debug_info_needed, dfs_debug_mark, | |
338 | dfs_debug_unmarkedp): Uncomment. Adjust for new scheme. | |
339 | * decl2.c (finish_vtable_vardecl): Call note_debug_info_needed. | |
340 | ||
920f9474 NS |
341 | 2000-03-03 Nathan Sidwell <nathan@codesourcery.com> |
342 | ||
343 | * decl.c (cp_finish_decl): Remove obsolete obstack comments, fix | |
344 | typos. | |
345 | ||
834c6dff MM |
346 | 2000-03-02 Mark Mitchell <mark@codesourcery.com> |
347 | ||
348 | * cp-tree.h (TYPE_NEEDS_DESTRUCTOR): Rename to ... | |
349 | (TYPE_HAS_NONTRIVIAL_DESTRUCTOR): ... this. | |
350 | (TYPE_HAS_TRIVIAL_DESTRUCTOR): New macro. | |
351 | (lang_type): Split gets_new into has_new and has_array_new. | |
352 | (TYPE_VEC_NEW_USES_COOKIE): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
353 | (TYPE_GETS_NEW): Split into ... | |
354 | (TYPE_HAS_NEW_OPERATOR): ... this, and ... | |
355 | (TYPE_HAS_ARRAY_NEW_OPERATOR): ... this. | |
356 | (DECL_ARRAY_DELETE_OPERATOR_P): New macro | |
357 | (build_op_new_call): Don't declare. | |
358 | (build_new_1): Likewise. | |
359 | * call.c (build_op_new_call): Remove. | |
360 | * class.c (check_bases): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR | |
361 | instead of TYPE_NEEDS_DESTRUCTOR. | |
362 | (finish_struct_bits): Likewise. | |
363 | (add_implicitly_declared_members): Likewise. | |
364 | (check_field_decl): Likewise. | |
365 | (check_methods): Set TYPE_VEC_DELETE_TAKES_SIZE here, and set it | |
366 | correctly under the new ABI. | |
367 | * decl.c (start_decl_1): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR | |
368 | instead of TYPE_NEEDS_DESTRUCTOR. | |
369 | (initialize_local_var): Likewise. | |
370 | (destroy_local_var): Likewise. | |
371 | (cp_finish_decl): Likewise. | |
372 | (register_dtor_fn): Likewise. | |
373 | (grok_op_properties): Set TYPE_HAS_NEW_OPERATOR and | |
374 | TYPE_HAS_ARRAY_NEW_OPERATOR, not TYPE_HAS_NEW. Don't set | |
375 | TYPE_VEC_DELETE_TAKES_SIZE here. | |
376 | (xref_basetypes): Set TYPE_HAS_NEW_OPERATOR and | |
377 | TYPE_HAS_ARRAY_NEW_OPERATOR, not TYPE_HAS_NEW. | |
378 | (store_parm_decls): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
379 | (finish_destructor_body): Likewise. | |
380 | (maybe_build_cleanup_1): Likewise. | |
381 | * decl2.c (do_static_destruction): Likewise. | |
382 | * init.c (build_new_1): Make it static. | |
383 | (perform_member_init): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
384 | (expand_cleanup_for_base): Likewise. | |
385 | (get_cookie_size): New function. | |
386 | (build_new_1): Handle array-new cookies correctly under the new | |
387 | ABI. | |
388 | (build_vec_delete_1): Likewise. | |
389 | (build_vec_init): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
390 | (build_delete): Likewise. | |
391 | (build_vec_delete): Handle array-new cookies correctly under the new | |
392 | ABI. | |
393 | * lex.c (do_identifier): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
394 | * pt.c (instantiate_class_template): Set TYPE_HAS_NEW_OPERATOR and | |
395 | TYPE_HAS_ARRAY_NEW_OPERATOR. | |
396 | * ptree.c (print_lang_type): Check them. | |
397 | * search.c (context_for_name_lookup): Fix typo in comment. | |
398 | (tree_has_any_destructor_p): Use TYPE_HAS_NONTRIVIAL_DESTRUCTOR. | |
399 | * tree.c (break_out_cleanups): Likewise. | |
400 | (build_cplus_array_test_1): Likewise. | |
401 | (cp_build_qualified_type_real): Likewise. | |
402 | * typeck.c (complete_type): Likewise. | |
403 | ||
404 | * g++spec.c (lang_specific_driver): Add -fnew-abi at the start of | |
405 | the command-line, not the end. | |
406 | ||
06f07977 JM |
407 | 2000-03-01 Jason Merrill <jason@casey.cygnus.com> |
408 | ||
409 | * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG. | |
410 | ||
e97f22c9 TT |
411 | 2000-03-02 Tom Tromey <tromey@cygnus.com> |
412 | ||
413 | * cp-tree.h (build_java_class_ref): Declare. | |
414 | * init.c (build_java_class_ref): No longer static. | |
415 | * except.c (expand_throw): Generate a Java-style `throw' if the | |
416 | thrown object is a "Java" object. | |
417 | (initialize_handler_parm): Generate a Java-style lookup of | |
418 | exception info if the caught object is a "Java" object. | |
419 | (catch_language, catch_language_init): New globals. | |
420 | (decl_is_java_type): New function. | |
421 | (expand_start_catch_block): Don't call push_eh_info() or | |
422 | push_eh_cleanup() when handling a Java-style "catch". Pass Java | |
423 | class reference to build_catch_block. | |
424 | ||
21318741 RK |
425 | Thu Mar 2 13:32:01 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
426 | ||
427 | * typeck.c (comptypes): Treat sizetype like its language equivalent. | |
428 | ||
2bfa73e4 BS |
429 | 2000-03-01 Bernd Schmidt <bernds@cygnus.co.uk> |
430 | ||
431 | * typeck.c (maybe_warn_about_returning_address_of_local): Reorganize | |
432 | to merge reference/pointer code and fix incorrect warnings. | |
433 | ||
aa1e6de6 JM |
434 | 2000-02-29 Jason Merrill <jason@casey.cygnus.com> |
435 | ||
e185aa16 JM |
436 | * search.c (protected_accessible_p): Use context_for_name_lookup. |
437 | ||
aa1e6de6 | 438 | * init.c (construct_virtual_bases): Fix thinko. |
e185aa16 | 439 | * typeck.c (expand_ptrmemfunc_cst): Fix thinko. |
aa1e6de6 | 440 | |
00262c8a ML |
441 | 2000-03-01 Martin von Loewis <loewis@informatik.hu-berlin.de> |
442 | ||
443 | * decl.c (current_function_decl): Move to toplev.c. | |
444 | ||
8d3631f8 NS |
445 | 2000-02-29 Nathan Sidwell <nathan@codesourcery.com> |
446 | ||
447 | * pt.c (fn_type_unification): Unify return type, whenever | |
448 | provided. | |
449 | (get_bindings_real): Only pass return type when necessary. | |
450 | Remove explicit return type check. | |
451 | * class.c (resolve_address_of_overloaded_function): Pass desired | |
452 | return type to fn_type_unification. | |
453 | ||
9df2c88c RK |
454 | Mon Feb 28 08:15:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
455 | ||
456 | * class.c (build_vtbl_or_vbase_field, check_methods): Don't clear | |
457 | DECL_FIELD_SIZE. | |
458 | (check_bitfield_decl, check_field_decls): Set DECL_SIZE, not | |
459 | DECL_FIELD_SIZE. | |
460 | * rtti.c (expand_class_desc): Likewise. | |
461 | * cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name. | |
462 | (THUNK_VCALL_OFFSET): Likewise. | |
463 | (THUNK_DELTA): Reflect changes in ../tree.h. | |
464 | ||
d7cca31e JM |
465 | 2000-02-28 Jason Merrill <jason@casey.cygnus.com> |
466 | ||
467 | * search.c (protected_accessible_p): Also allow the access if | |
468 | the member is public in DERIVED. Lose TYPE parm. | |
469 | (friend_accessible_p): Lose TYPE parm. | |
470 | (accessible_p): Adjust. | |
471 | ||
fed3cef0 RK |
472 | Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
473 | ||
474 | * class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop | |
475 | on things that are not sizes; ssize_binop deleted. | |
476 | Call size_diffop when appropriate. | |
477 | (dfs_build_vcall_offset_vtbl_entries): Likewise. | |
478 | (build_primary_vtable, build_secondary_vtable): Likewise. | |
479 | (dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise. | |
480 | Variable I is HOST_WIDE_INT. | |
481 | (get_vfield_offset): Pass proper types to size_binop. | |
482 | (size_extra_vtbl_entries, layout_virtual_bases): Likewise. | |
483 | (finish_struct_1): Likewise. | |
484 | (skip_rtti_stuff): Arg N is now pointer to signed. | |
485 | (layout_class_type): Use size_zero_node. | |
486 | * cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed. | |
487 | * cvt.c (cp_convert_to_pointer): Pass proper types to size_binop. | |
488 | * decl.c (complete_arry_type): Pass proper types to size_binop. | |
489 | (xref_basetypes): BINFO_OFFSET is sizetype. | |
490 | * error.c (dump_expr): Don't use size_binop non-sizes. | |
491 | * expr.c (cplus_expand_constant): Pass proper types to size_binop. | |
492 | * init.c (construct_virtual_bases): Fix type error. | |
493 | (build_vec_delete_1): Pass proper type to size_binop and don't | |
494 | fold result. | |
495 | * lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype. | |
496 | * rtti.c (get_base_offset): Pass proper type to size_binop. | |
497 | * search.c (dfs_find_vbases): Fix type error. | |
498 | (expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed. | |
499 | (dfs_get_vbase_types): BINFO_OFFSET is sizetype. | |
500 | * tree.c (debug_binfo): Variable N is signed. | |
501 | Use HOST_WIDE_INT_PRINT_DEC. | |
502 | * typeck.c (comptypes): sizetype is same as equivalent integer type. | |
503 | (c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT, | |
504 | size_one_node and size_zero_node. | |
505 | (c_alignof): Use size_one_node. | |
506 | (build_component_addr): Pass proper types to size_binop. | |
507 | (expand_ptrmemfunc_cst): Don't use size_binop on non-sizes. | |
508 | ||
aa52c1ff JM |
509 | 2000-02-26 Jason Merrill <jason@casey.cygnus.com> |
510 | ||
511 | Implement class scope using-declarations for functions. | |
512 | * class.c (handle_using_decl): Call add_method for used functions. | |
513 | Use IDENTIFIER_CLASS_VALUE to check for conflicts. | |
514 | (add_method): Used functions are hidden by local functions. | |
515 | (check_bases_and_members): Handle using-decls before finalizing | |
516 | CLASSTYPE_METHOD_VEC. | |
517 | * call.c (add_function_candidate): Add ctype parm; if non-zero, | |
518 | override the type of 'this' accordingly. | |
519 | (add_template_candidate, add_template_candidate_real): Add ctype parm. | |
520 | (convert_class_to_reference, build_user_type_conversion_1, | |
521 | build_new_function_call, build_object_call, build_new_op, | |
522 | build_new_method_call): Pass ctype parm. | |
523 | ||
524 | * search.c (lookup_member): Put rval_binfo, not basetype_path, in | |
525 | the baselink. | |
526 | * call.c (convert_class_to_reference, build_user_type_conversion_1, | |
527 | build_new_function_call, build_object_call, build_new_op, | |
528 | build_new_method_call, build_op_delete_call): Don't get basetype_path | |
529 | from a baselink. | |
530 | * typeck.c (build_component_ref): Likewise. | |
531 | * init.c (build_offset_ref): Likewise. | |
532 | (resolve_offset_ref): Don't call enforce_access. | |
533 | Call build_scoped_ref. | |
534 | * typeck2.c (build_scoped_ref): Simplify. Do nothing if it | |
535 | would cause an error or if -pedantic. | |
536 | * class.c (alter_access): Lose binfo parm. | |
537 | ||
22e92ac3 MM |
538 | 2000-02-26 Mark Mitchell <mark@codesourcery.com> |
539 | ||
540 | * semantics.c (simplify_aggr_init_exprs_p): Don't walk into | |
541 | types. | |
542 | ||
42789557 AM |
543 | 2000-02-25 Alfred Minarik <a8601248@unet.univie.ac.at> |
544 | ||
545 | * rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info | |
546 | pseudo_type_info creation into the std namespace | |
547 | ||
27d26ee7 MM |
548 | 2000-02-26 Mark Mitchell <mark@codesourcery.com> |
549 | ||
550 | * cp-tree.h (DECL_NEEDED_P): Tweak to correct usage before EOF. | |
551 | (import_export_class): Remove declaration. | |
552 | * decl2.c (import_export_class): Make it static. | |
553 | * dump.c (dequeue_and_dump): Handle PREDECREMENT_EXPR, | |
554 | PREINCREMENT_EXPR, POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, | |
555 | EXPR_WITH_FILE_LOCATION. | |
556 | * lex.c (check_newline): Tweak filename/lineno setting. | |
557 | * semantics.c (begin_while_stmt): Fix typo in comment. | |
558 | ||
ca888935 RK |
559 | Sat Feb 26 19:50:23 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
560 | ||
363e6541 RK |
561 | * lang-options.h (-fmessage-length=): Add missing option. |
562 | ||
ca888935 RK |
563 | * Make-lang.in (CXX_SRCS): Add .h files and sort list. |
564 | ||
f95e46b9 ZW |
565 | 2000-02-26 Zack Weinberg <zack@wolery.cumb.org> |
566 | ||
567 | * Make-lang.in: Delete refs to LIBGCC2_DEPS. | |
568 | ||
3431f196 JW |
569 | Fri Feb 25 14:52:33 2000 Jim Wilson <wilson@cygnus.com> |
570 | ||
571 | * optimize.c (expand_call_inline): Emit the return label before | |
572 | evaluating the return value. | |
573 | ||
574a0ef5 MM |
574 | 2000-02-24 Mark Mitchell <mark@codesourcery.com> |
575 | ||
576 | * lex.c (check_newline): Use push_srcloc and pop_srcloc, rather | |
577 | than duplicating functionality here. | |
578 | * optimize.c: Include input.h. | |
579 | (expand_call_inline): Use push_srcloc and pop_srcloc. | |
580 | * parse.y (maybe_cv_qualifier): Remove calls to emit_line_note. | |
581 | * parse.c: Regenerated. | |
582 | * Makefile.in (lex.o): Depend on input.h. | |
583 | (optimize.o): Likewise. | |
584 | ||
41cbc04c NS |
585 | 2000-02-24 Nathan Sidwell <nathan@codesourcery.com> |
586 | ||
587 | * decl.c (grokdeclarator): Diagnose qualifiers on non-member | |
588 | function type, rather than ICE. | |
589 | ||
9fc336c7 JM |
590 | 2000-02-23 Jason Merrill <jason@casey.cygnus.com> |
591 | ||
592 | * decl.c (grokdeclarator): Call decl_type_access_control. | |
593 | * parse.y (parse_end_decl): Don't call decl_type_access_control if | |
594 | decl is null. | |
595 | ||
e867a179 NS |
596 | 2000-02-23 Nathan Sidwell <nathan@codesourcery.com> |
597 | ||
598 | * decl.c (decls_match): Remove obsolete static member nadgering. | |
599 | ||
cab1f180 ML |
600 |