]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
* Clean up usages of TREE_INT_CST_LOW.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
665f2503
RK
1Fri 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
262000-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
312000-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
362000-03-16 Nathan Sidwell <nathan@codesourcery.com>
37
38 * decl2.c (grokfield): Bail out if type is error_mark_node.
39
f03eebe3
NS
402000-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
462000-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
572000-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
632000-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
822000-03-14 Jeff Sturm <jsturm@sigma6.com>
83
84 * except.c (expand_throw): Fix typo in _Jv_Sjlj_Throw.
85
93ca4ba7
JM
862000-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
962000-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
1062000-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
1452000-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
1532000-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
1582000-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
1692000-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
1742000-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
2132000-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
2242000-03-08 Nathan Sidwell <nathan@codesourcery.com>
225
226 * exception.cc (__cp_pop_exception): Cleanup the original object.
227
17708e90
NS
2282000-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
2332000-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
2382000-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
2512000-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
2572000-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
2692000-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
2752000-03-06 Nathan Sidwell <nathan@codesourcery.com>
276
277 * typeck.c (dubious_conversion_warnings): Look through
278 REFERENCE_TYPE.
279
efd3d4a6
RK
280Mon 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
2942000-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
2992000-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
3102000-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
3292000-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
3412000-03-03 Nathan Sidwell <nathan@codesourcery.com>
342
343 * decl.c (cp_finish_decl): Remove obsolete obstack comments, fix
344 typos.
345
834c6dff
MM
3462000-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
4072000-03-01 Jason Merrill <jason@casey.cygnus.com>
408
409 * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG.
410
e97f22c9
TT
4112000-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
425Thu 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
4292000-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
4342000-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
4412000-03-01 Martin von Loewis <loewis@informatik.hu-berlin.de>
442
443 * decl.c (current_function_decl): Move to toplev.c.
444
8d3631f8
NS
4452000-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
454Mon 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
4652000-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
472Sun 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
5092000-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
5382000-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
5432000-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
5482000-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
559Sat 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
5652000-02-26 Zack Weinberg <zack@wolery.cumb.org>
566
567 * Make-lang.in: Delete refs to LIBGCC2_DEPS.
568
3431f196
JW
569Fri 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
5742000-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
5852000-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
5902000-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
5962000-02-23 Nathan Sidwell <nathan@codesourcery.com>
597
598 * decl.c (decls_match): Remove obsolete static member nadgering.
599
cab1f180
ML
600