]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
ggc-page.c (max_alignment): New structure.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
45b8ddb4
KG
12001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2
3 * expr.c (cplus_expand_expr): Don't reset `target'.
4
96302433
NB
52001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6
7 * cp/decl2.c (cxx_post_options): Call cpp_post_options.
8
220bce48
NS
92001-01-05 Nathan Sidwell <nathan@codesourcery.com>
10
11 * parse.y (template_datadef): Check for error_mark_node.
12
bfa2cb33
NS
132001-01-05 Nathan Sidwell <nathan@codesourcery.com>
14
15 * cp-tree.def (DEFAULT_ARG): Make `x' class.
16
eaa7c03f
JM
172001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
18
19 * decl.c (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Don't define.
20 (record_builtin_type): Make non-static.
21 (flag_short_double): Don't declare.
22 (init_decl_processing): Remove the creation of many tree nodes now
23 in c_common_nodes_and_builtins.
24 (build_void_list_node): New function.
25 * decl2.c (flag_short_double, flag_short_wchar): Don't define.
26 * cp-tree.h (flag_short_wchar): Don't declare.
27
3af4c257
MM
282001-01-04 Mark Mitchell <mark@codesourcery.com>
29
30 * call.c (build_conv): Don't use build1 for USER_CONV.
31 * pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes.
32
03dc0325
JM
332001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
34
35 * lex.c (lang_init): Call c_common_lang_init.
36
3c505507
NS
372001-01-03 Nathan Sidwell <nathan@codesourcery.com>
38
39 * search.c (lookup_fnfields_here): Remove.
40 (look_for_overrides_r): Use lookup_fnfields_1.
41 Ignore functions from using declarations.
42
03378143
NS
432001-01-03 Nathan Sidwell <nathan@codesourcery.com>
44
45 Implement exceptions specifiers for implicit member functions.
46 * cp-tree.h (merge_exceptions_specifiers): Declare new function.
47 * method.c (synthesize_exception_spec): New function.
48 (locate_dtor, locate_ctor, locate_copy): New functions.
49 (implicitly_declare_fn): Generate the exception spec too.
50 * search.c (check_final_overrider): Check artificial functions
51 too.
52 * typeck2.c (merge_exception_specifiers): New function.
53
f30efcb7
JM
542001-01-03 Jason Merrill <jason@redhat.com>
55
56 * init.c (build_default_init): New fn.
57 (perform_member_init): Split out from here.
58 (build_new_1): Use it. Simplify initialization logic.
59 (build_vec_init): Take an array, rather than a pointer and maxindex.
60 Speed up simple initializations. Don't clean up if we're assigning.
61 * cp-tree.h: Adjust.
62 * decl2.c (do_static_initialization): Remove TREE_VEC case.
63 * parse.y (new_initializer): Return void_zero_node for ().
64 * typeck.c (build_modify_expr): Handle getting a CONSTRUCTOR.
65 * typeck2.c (digest_init): Only complain about user-written
66 CONSTRUCTORs.
67
a412bf75
MS
682000-12-22 Mike Stump <mrs@wrs.com>
69
70 * decl2.c: (max_tinst_depth): Increase to 50.
71
4890c2f4
MM
722001-01-02 Mark Mitchell <mark@codesourcery.com>
73
74 * class.c (invalidate_class_lookup_cache): Zero the
75 previous_class_values.
76 * cp-tree.h (TMPL_PARMS_DEPTH): Use TREE_INT_CST_LOW, not
77 TREE_INT_CST_HIGH.
78 (CLASSTYPE_TEMPLATE_LEVEL): Likewise.
79 * decl.c (free_bindings): New variable.
80 (push_binding): Don't create a new binding if we have one on the
81 free list.
82 (pop_binding): Put old bindings on the free list.
83 (init_decl_processing): Use size_int, not build_int_2.
84 Register free_bindings as a GC root.
85 (cp_make_fname_decl): Use size_int, not build_int_2.
86 (push_inline_template_parms_recursive): Likewise.
87 (end_template_parm_list): Likewise.
88 (for_each_tempalte_parm): Do not use walk_tree_without_duplicates.
89 (tsubst_template_parms): Use size_int, not build_int_2.
90 (tsubst): Likewise.
91 * rtti.c (get_vmi_pseudo_type_info): Likewise.
92
4f78b9a8
RH
932001-01-02 Richard Henderson <rth@redhat.com>
94
95 * parse.y (asm): Set ASM_INPUT_P.
96
3c8c2a0a
JM
972001-01-02 Jason Merrill <jason@redhat.com>
98
96d6c610
JM
99 * tree.c (cp_valid_lang_attribute): Don't set CLASSTYPE_COM_INTERFACE
100 for v3 ABI.
101
102 * typeck.c (cp_truthvalue_conversion): New fn.
103 * cvt.c (ocp_convert): Use it.
104
105 * cp-tree.h: Lose c-common.c decls.
106
107 * typeck.c (build_unary_op): Restore old &a.f diagnostic code.
108 * cvt.c (convert_to_void): Use type_unknown_p.
109
3c8c2a0a
JM
110 * typeck.c (strip_all_pointer_quals): Also strip quals from
111 pointer-to-member types.
112
113 * Make-lang.in (cp/TAGS): Use --no-globals. Ignore parse.c, and treat
114 parse.y as C.
115
116 * call.c (build_new_method_call): Do evaluate the object parameter
117 when accessing a static member.
118 * typeck.c (build_component_ref): Likewise.
119
d363e7bf
AJ
1202001-01-02 Andreas Jaeger <aj@suse.de>
121
122 * decl.c (cp_missing_noreturn_ok_p): New.
123 (init_decl_processing): Set lang_missing_noreturn_ok_p.
124
77f5250d
JJ
1252000-12-29 Jakub Jelinek <jakub@redhat.com>
126
127 * decl.c (init_decl_processing): Fix sign of wchar_type_node.
128
31a714f6
MM
1292000-12-29 Mark Mitchell <mark@codesourcery.com>
130
131 * class.c (pushclass): Remove #if 0'd code.
132 * cp-tree.h (overload_template_name): Remove.
133 * decl.c (store_bindings): Simplify.
134 (pop_from_top_level): Likewise.
135 * pt.c (overload_template_name): Remove.
d363e7bf 136 (instantiate_decl): Don't call push_to_top_level if it's not
31a714f6
MM
137 needed.
138
414ea4aa
MM
1392000-12-28 Mark Mitchell <mark@codesourcery.com>
140
141 * pt.c (register_local_specialization): Don't return a value.
142 (lookup_template_class): Use move-to-front heuristic when looking
143 up template instantiations.
144 (instantiate_decl): Only push_to_top_level when we're actually
145 going to instantiate the template.
146
6f18f7e9
HPN
1472000-12-29 Hans-Peter Nilsson <hp@bitrange.com>
148
149 * search.c (binfo_for_vtable): Return least derived class, not
150 most. Handle secondary vtables.
151
e5214479
JM
1522000-12-22 Jason Merrill <jason@redhat.com>
153
3c8c2a0a
JM
154 * pt.c (more_specialized): Don't optimize len==0.
155 (fn_type_unification): If we're adding the return type, increase len.
156
ebb1abc3
JM
157 * typeck.c (build_binary_op): Fix pmf comparison logic.
158
c939ca5f
JM
159 * call.c (joust): Use DECL_NONSTATIC_MEMBER_FUNCTION_P, not
160 DECL_STATIC_FUNCTION_P.
161
e6fe680d
JM
162 * semantics.c (genrtl_finish_function): Don't try to jump to
163 return_label unless it exists.
164
e5214479
JM
165 In partial ordering for a call, ignore parms for which we don't have
166 a real argument.
167 * call.c (joust): Pass len to more_specialized.
168 (add_template_candidate_real): Strip 'this', pass len.
169 * pt.c (more_specialized): Pass len down. Lose explicit_args parm.
170 (get_bindings_order): New fn. Pass len down.
171 (get_bindings_real): Strip 'this', pass len.
172 (fn_type_unification): Likewise.
173 (type_unification_real): Succeed after checking 'len' args.
174 (most_specialized_instantiation): Lose explicit_args parm.
d363e7bf 175 * class.c (resolve_address_of_overloaded_function): Strip 'this',
e5214479
JM
176 pass len.
177
1782000-12-21 Jason Merrill <jason@redhat.com>
477f6664
JM
179
180 * pt.c (tsubst_decl): A FUNCTION_DECL has DECL_RESULT, not
181 DECL_TEMPLATE_RESULT.
182
183 * search.c (lookup_field_r): Call lookup_fnfields_1, not
184 lookup_fnfields_here.
185
186 * parse.y (typename_sub2): Return the TYPE_DECL, not the type.
187
188 * call.c (build_object_call): Also allow conversions that return
189 reference to pointer to function.
190 (add_conv_candidate): Handle totype being ref to ptr to fn.
191 (build_field_call): Also allow members of type reference to function.
192 Lose support for calling pointer to METHOD_TYPE fields.
193
194 * error.c (dump_expr): Handle *_CAST_EXPR.
195
196 * typeck2.c (build_scoped_ref): Always convert to the naming class.
197
198 * tree.c (break_out_cleanups): Lose.
199 * cp-tree.h: Remove prototype.
200 * typeck.c (build_component_ref): Don't break_out_cleanups.
201 (build_compound_expr): Likewise.
202 * semantics.c (finish_expr_stmt): Likewise.
203
3e4d04a1
RH
2042000-12-20 Richard Henderson <rth@redhat.com>
205
206 * cp-tree.h: Update declarations.
207 * decl.c (finish_case_label): Return the new stmt node.
208 * semantics.c (finish_goto_stmt): Likewise.
209 (finish_expr_stmt, finish_return_stmt): Likewise.
210 (finish_break_stmt, finish_continue_stmt): Likewise.
211 (finish_asm_stmt): Likewise.
212 * parse.y (already_scoped_stmt): Set STMT_LINENO.
213 (compstmt, implicitly_scoped_stmt, stmt): Likewise.
214 (simple_if, simple_stmt): Return the new stmt node.
215 (save_lineno): New.
216
20d380b1
JM
2172000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
218
219 * cp-tree.h: Don't declare warn_long_long.
220
221c7a7f
KL
2212000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
222
223 * tree.c (no_linkage_helper): Use CLASS_TYPE_P instead of
224 IS_AGGR_TYPE.
225
b429fdf0
KL
2262000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
227
228 * pt.c (unify): Handle when both ARG and PARM are
229 BOUND_TEMPLATE_TEMPLATE_PARM.
230
c2beae77
KL
2312000-12-15 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
232
233 * pt.c (reduce_template_parm_level): Set DECL_ARTIFICIAL and
234 DECL_TEMPLATE_PARM_P.
235
c3e899c1
JM
2362000-12-15 Jason Merrill <jason@redhat.com>
237
96790071
JM
238 * init.c (build_new_1): Reorganize. Now with 100% fewer SAVE_EXPRs!
239
8d42565b
JM
240 * init.c (build_new_1): Don't strip quals from type.
241
fab09a24
JM
242 * decl.c (pushdecl): Don't check for linkage on a non-decl.
243
c3e899c1
JM
244 * call.c (build_op_delete_call): See through ARRAY_TYPEs.
245
246 * call.c (build_new_function_call): Lose space before paren in
247 error message.
248 (build_new_method_call): Likewise.
249
250 * typeck2.c (build_m_component_ref): Propagate quals from datum.
251
edac124d
KL
2522000-12-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
253
254 * pt.c (check_explicit_specialization): Propagate default
255 function arguments to explicit specializations.
256
31750649 2572000-12-13 DJ Delorie <dj@redhat.com>
8d3b081e
DD
258
259 * typeck.c (build_binary_op): Do signed/unsigned warnings for >?
260 and <? operators.
261
5e818b93
JM
2622000-12-08 Jason Merrill <jason@redhat.com>
263
264 * error.c (dump_function_name): Don't let the user see __comp_ctor.
265
266 Clean up copy-initialization in overloading code.
267 * call.c (build_user_type_conversion_1): Die if we are asked to
268 convert to the same or a base type.
269 (implicit_conversion): Avoid doing so. Lose reference binding code.
270 (convert_like_real): Treat BASE_CONV and RVALUE_CONV as implicit
271 direct-initialization. Also do direct-init part of copy-init.
272 (build_user_type_conversion): Don't provide context to convert_like.
273 * cvt.c (ocp_convert): build_user_type_conversion will now provide
274 the constructor call for copy-init.
275
276 * pt.c (tsubst_decl): Call clone_function_decl here if this is an
277 instantiation of a member template.
278 (do_decl_instantiation): Not here.
279
38da6039
NS
2802000-12-07 Nathan Sidwell <nathan@codesourcery.com>
281
282 * class.c (check_field_decls): Don't special case anonymous
283 fields in error messages.
284 (note_name_declared_in_class): Use %D on diagnostic.
d363e7bf 285
38da6039
NS
286 * tree.c (pod_type_p): Use strip_array_types.
287 (cp_valid_lang_attribute): Likewise.
288 * typeck.c (cp_type_quals): Strip arrays separately, to avoid
289 multiple evaluations.
d363e7bf 290 (cp_has_mutable_p): Use strip_array_types.
38da6039 291
a11d04b5
NS
2922000-12-07 Nathan Sidwell <nathan@codesourcery.com>
293
294 * cp-tree.h (sufficient_parms_p): Declare new function.
295 * call.c (sufficient_parms_p): New function, broken out of ...
296 (add_function_candidate): ... here. Use it.
297 (add_conv_candidate): Use it.
298 * decl.c (grok_ctor_properties): Use it.
299
5eec2847
JJ
3002000-12-07 Jakub Jelinek <jakub@redhat.com>
301
302 * optimize.c (copy_body_r): Set STMT_IS_FULL_EXPR_P on EXPR_STMT.
303
c907e684
JM
3042000-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
305
306 * decl2.c (lang_decode_option): Handle -Wformat-security.
307
74601d7c
KL
3082000-12-06 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
309
310 * pt.c (verify_class_unification): New function.
311 (get_class_bindings): Use it.
312 (try_class_unification): Tidy.
313 (unify): Handle when argument of a template-id is not
314 template parameter dependent.
315 (template_args_equal): Handle when TREE_CODE's do not match.
316
8954e858
AO
3172000-12-06 Alexandre Oliva <aoliva@redhat.com>
318
319 * lang-specs.h (c++): When invoking the stand-alone preprocessor
320 for -save-temps, pass all relevant -Defines to it, and then don't
321 pass them to cc1plus.
322
3dc9aec6
WC
3232000-12-05 Will Cohen <wcohen@redhat.com>
324
325 * decl.c (finish_case_label): Cleared
326 more_cleanups_ok in surrounding function scopes.
327 (define_label): Likewise.
328
cbb40945
NS
3292000-12-05 Nathan Sidwell <nathan@codesourcery.com>
330
331 * cp-tree.h (IDENTIFIER_VIRTUAL_P): Document.
332 (get_matching_virtual): Remove.
333 (look_for_overrides): Declare new function.
334 * decl.c (grokfndecl): Don't set IDENTIFIER_VIRTUAL_P or
335 DECL_VINDEX here.
336 * class.c (check_for_override): Move base class iteration code
337 to look_for_overrides.
338 * search.c (next_baselink): Remove.
339 (get_virtuals_named_this): Remove.
340 (get_virtual_destructor): Remove.
341 (tree_has_any_destructors_p): Remove.
342 (struct gvnt_info): Remove.
343 (check_final_overrider): Remove `virtual' from error messages.
344 (get_matching_virtuals): Remove. Move functionality to ...
345 (look_for_overrides): ... here, and ...
346 (look_for_overrides_r): ... here. Set DECL_VIRTUAL_P, if found
347 to be overriding.
348
61402b80
NS
3492000-12-05 Nathan Sidwell <nathan@codesourcery.com>
350
351 * typeck.c (get_delta_difference): If via a virtual base,
352 return zero.
353 * cvt.c (cp_convert_to_pointer): If via a virtual base, do no
354 adjustment.
355
39abc9a6
RH
3562000-12-04 Richard Henderson <rth@redhat.com>
357
358 * error.c (dump_tree): Use output_add_string not OB_PUTS.
359
c00996a3
JM
3602000-12-04 Jason Merrill <jason@redhat.com>
361
362 * mangle.c (write_type): Mangle VECTOR_TYPE with "U8__vector".
d363e7bf 363 (write_builtin_type): Pass intSI_type_node and the like through
c00996a3
JM
364 type_for_mode.
365 * method.c (process_overload_item): Mangle VECTOR_TYPEs with 'o'.
366 Pass intSI_type_node and the like through type_for_mode.
367 * decl2.c (arg_assoc_type): Handle VECTOR_TYPE like COMPLEX_TYPE.
368 * pt.c (tsubst, unify): Likewise.
369 * tree.c (walk_tree): Likewise.
370 * error.c (dump_type): Likewise.
371 (dump_type_prefix, dump_type_suffix): Don't bother with VECTOR_TYPE.
d363e7bf 372
c00996a3
JM
373 * Make-lang.in: Tweak top comment for emacs.
374 (cp/TAGS): Restore.
375
376 * except.c (expand_throw): Use push_throw_library_fn for _Jv_Throw.
377
c00996a3
JM
378 * class.c (clone_function_decl): Robustify.
379
3802000-12-04 Michael Matz <matzmich@cs.tu-berlin.de>
381
382 * decl.c (store_bindings): Only search in the non modified
383 old_bindings for duplicates.
384
00bb3dad
NS
3852000-12-04 Nathan Sidwell <nathan@codesourcery.com>
386
387 * error.c (dump_function_decl): Use DECL_VIRTUAL_P, not
388 TYPE_POLYMORPHIC_P.
d363e7bf 389
00bb3dad
NS
390 * typeck.c (build_static_cast): Remove unused variable.
391
dc957d14
KL
3922000-12-01 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
393
394 * pt.c: Fix typo in comment.
395
4d808927
JM
3962000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
397
398 * decl2.c (warn_format): Remove definition.
399 (lang_decode_option): Handle -Wformat-nonliteral,
400 -Wno-format-extra-args and -Wno-format-y2k. Use set_Wformat.
401
5fd8e536
JM
4022000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
403
404 * decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
405 (init_decl_processing): Don't create string_type_node,
406 const_string_type_node, wint_type_node, intmax_type_node,
407 uintmax_type_node, default_function_type, ptrdiff_type_node and
408 unsigned_ptrdiff_type_node. Adjust position of call to
409 c_common_nodes_and_builtins.
410 (identifier_global_value): New function.
411
13f9714b
NS
4122000-12-01 Nathan Sidwell <nathan@codesourcery.com>
413
414 * call.c (standard_conversion): Reject pointer to member
415 conversions from ambiguous, inaccessible or virtual bases.
416 * typeck.c (build_static_cast): Don't check pointers to members
417 specially.
418
31b1b957
NS
4192000-11-30 Nathan Sidwell <nathan@codesourcery.com>
420
421 * method.c (do_build_copy_constructor): Preserve cv
422 qualifications when accessing source object members.
423 (do_build_assign_ref): Likewise. Remove separate diagnostics for
424 unnamed fields.
425
717e3f73
NS
4262000-11-30 Nathan Sidwell <nathan@codesourcery.com>
427
428 * method.c (do_build_assign_ref): Construct appropriately
429 CV-qualified base reference. Don't allow const casts in base
430 conversion.
431
2c92b94d
NS
4322000-11-30 Nathan Sidwell <nathan@codesourcery.com>
433
434 * call.c (build_over_call): Use VOID_TYPE_P. Don't die on
435 incomplete return type.
436
bb92901d
NS
4372000-11-28 Nathan Sidwell <nathan@codesourcery.com>
438
439 * parse.y (base_class.1): Produce a _TYPE not a _DECL.
440 * semantics.c (finish_base_specifier): Accept a _TYPE not a
441 _DECL.
442
2f3608c3
NS
4432000-11-28 Nathan Sidwell <nathan@codesourcery.com>
444
445 * spew.c (yyerror): Cope if yylval.ttype is NULL.
446
eeb75383
NS
4472000-11-28 Nathan Sidwell <nathan@codesourcery.com>
448
449 * decl.c (grokdeclarator): Diagnose undefined template contexts.
450
5ee4cc26
NS
4512000-11-28 Nathan Sidwell <nathan@codesourcery.com>
452
453 * decl.c (grokdeclarator): Do type access control on friend
454 class.
455
76e57b45
NS
4562000-11-27 Nathan Sidwell <nathan@codesourcery.com>
457
458 * decl.c (grokfndecl): Undo COMPONENT_REF damage caused by
459 bison parser ickiness.
460 * pt.c (tsubst_friend_function): Enter namespace scope when
461 tsubsting the function name.
462 * cp-tree.h (DECL_TI_TEMPLATE): Update comment to reflect reality.
463
f9825168
NS
4642000-11-27 Nathan Sidwell <nathan@codesourcery.com>
465
466 * cp-tree.h (binfo_from_vbase): Return the virtual base's binfo.
467 * cvt.c (cp_convert_to_pointer): Add force parameter.
468 Allow conversions via virtual base if forced.
469 (convert_to_pointer_force): Adjust call to cp_convert_to_pointer.
470 (ocp_convert): Likewise.
471 * search.c (binfo_from_vbase): Return the virtual base's binfo.
472 * typeck.c (get_delta_difference): Adjust handling of virtual
473 bases.
474
9ccb25d5
MM
4752000-11-26 Mark Mitchell <mark@codesourcery.com>
476
477 * tree.c (struct list_hash): Remove.
478 (list_hash_table): Make it be an htab.
479 (struct list_proxy): New type.
480 (list_hash_eq): New function.
481 (list_hash_pieces): Renamed from ...
482 (list_hash): ... this.
483 (list_hash_lookup): Remove.
484 (list_hash_add): Remove.
485 (hash_tree_cons): Use the generic hashtable.
486 (mark_list_hash): Remove.
487 (init_tree): Create the hashtable.
488
9399bad3
JM
4892000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
490
491 * method.c (build_mangled_C9x_name): Rename to
492 build_mangled_C99_name. Change C9X references in comments to
493 refer to C99.
494
2f401cc8
NS
4952000-11-24 Nathan Sidwell <nathan@codesourcery.com>
496
497 * parse.y (unary_expr): Move VA_ARG from here ...
498 (primary): ... to here.
499
3d7e9ba4
NS
5002000-11-24 Nathan Sidwell <nathan@codesourcery.com>
501
502 * semantics.c (finish_id_expr): If type is error_mark, return
503 error_mark.
504
ab097535
NS
5052000-11-23 Nathan Sidwell <nathan@codesourcery.com>
506
507 * pt.c (lookup_template_class): Simplify loop exit constructs.
508 Cope when there is no partial instantiation of a template
509 template member.
510
9196ece5
R
511Thu Nov 23 02:16:47 2000 J"orn Rennecke <amylaar@redhat.com>
512
513 * Make-lang.in (g++spec.o, cxxmain.o): Depend on $(CONFIG_H).
514
cac78ea2
MM
5152000-11-22 Mark Mitchell <mark@codesourcery.com>
516
6e1b44bc
MM
517 * mangle.c (mangle_conv_op_name_for_type): Don't use `__op'
518 prefix.
519
cac78ea2
MM
520 * pt.c (do_decl_instantiate): Explicitly clone constructors and
521 destructors that haven't already been cloned.
522
3aac38d7
RH
5232000-11-20 Richard Henderson <rth@redhat.com>
524
525 * parse.y (yyparse_1): Rename the parser entry point.
526
5272000-11-20 Alex Samuel <samuel@codesourcery.com>
beac9b93
AS
528
529 * mangle.c (write_name): Use <unscoped-name> for names directly in
530 function scope.
531 (write_unscoped_name): Accept names directly in function scope.
d363e7bf 532
447306fa
NS
5332000-11-20 Nathan Sidwell <nathan@codesourcery.com>
534
535 * lex.c (rid_to_yy, RID_EXPORT): Make unique keyword.
536 * parse.y (extdef): Add EXPORT reduction.
537 * spew.c (yylex): Don't skip export here.
538
2650255a
MM
5392000-11-19 Mark Mitchell <mark@codesourcery.com>
540
541 * decl.c (init_decl_processing): Correct name of pure virtual
542 function under the new ABI.
543 * rtti.c (throw_bad_cast): Likewise, for bad cast function.
544 (throw_bad_typeid): Likewise for bad typeid function.
545
0657c69c
MM
5462000-11-18 Mark Mitchell <mark@codesourcery.com>
547
04f3dc2b
MM
548 * decl.c (grokparms): Don't even function types of `void' type,
549 either.
550 * mangle.c (write_type): Don't crash when confronted with the
551 error_mark_node.
552
0657c69c
MM
553 * decl.c (grokparms): Don't create parameters of `void' type.
554
a8a05998
ZW
5552000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
556
557 * lex.c (mark_impl_file_chain): Delete.
558 (init_parse): Remove call to ggc_add_string_root. No need to
559 ggc_strdup a string constant. Do not add impl_file_chain to GC
560 roots.
561 (handle_pragma_implementation): No need to ggc_strdup main_filename.
562
35728a80
NS
5632000-11-17 Nathan Sidwell <nathan@codesourcery.com>
564
565 * pt.c (tsubst_expr, DECL_STMT): Instantiate decl's type.
566
5cce22b6
NS
5672000-11-17 Nathan Sidwell <nathan@codesourcery.com>
568
569 * cp-tree.h (PARMLIST_ELLIPSIS_P): New macro.
570 * decl.c (grokdeclarator): Don't reject void parms here.
571 (require_complete_types_for_parms): Simplify, use
572 complete_type_or_else.
573 (grokparms): Remove bitrot. Remove funcdef parm.
574 Deal with ellipsis parm lists here.
575 * semantics.c (finish_parmlist): Don't append void_list_node
576 here. Set PARMLIST_ELLIPSIS_P.
577
146c8d60
NS
5782000-11-17 Nathan Sidwell <nathan@codesourcery.com>
579
580 * typeck2.c (incomplete_type_error): Reorganise to avoid
581 excessive diagnostics.
582
520a57c8
ZW
5832000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
584
585 * lex.c (struct impl_files, internal_filename): Constify a char *.
586
43048a06
MM
5872000-11-16 Mark Mitchell <mark@codesourcery.com>
588
589 * mangle.c (write_special_name_constructor): Don't generate
590 assembler junk when confronted with an old-style constructor.
591 (write_special_name_destructor): Likewise.
592 (mangle_decl_string): Do it here instead.
593
cdb71673
NS
5942000-11-16 Nathan Sidwell <nathan@codesourcery.com>
595
596 * call.c (op_error): Make error messages clearer.
597
62136084
MM
5982000-11-15 Mark Mitchell <mark@codesourcery.com>
599
600 * decl.c (wrapup_globals_for_namespace): Don't mark things
601 TREE_ASM_WRITTEN when they're not.
602
ee3400e8
JM
6032000-11-15 Jason Merrill <jason@redhat.com>
604
605 * typeck2.c (friendly_abort): Uncount the error before handing
606 off to fancy_abort.
607
71631a1f
NS
6082000-11-15 Nathan Sidwell <nathan@codesourcery.com>
609
610 * typeck.c (lookup_anon_field): Cope with qv qualifiers.
611
79cda2d1
MM
6122000-11-14 Mark Mitchell <mark@codesourcery.com>
613
614 * class.c (build_vtbl_initializer): Fix typo in comment.
615 * typeck.c (expr_sizeof): Don't crash on errors.
616
2567bc56
JW
6172000-11-14 Jim Wilson <wilson@redhat.com>
618
619 * lang-specs.h: Add %2 after %(cc1_options).
620
8422942c
RH
6212000-11-14 Richard Henderson <rth@redhat.com>
622
623 * typeck.c (c_sizeof): Be strict about casting result value
624 back to c_size_type_node.
625 (expr_sizeof, c_sizeof_nowarn, c_alignof): Likewise.
626
19552aa5
JM
6272000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
628
629 * typeck.c (build_unary_op): Use boolean_increment from
630 c-common.c, moving the relevant code there.
631
d96a6d1a
JM
6322000-11-11 Jason Merrill <jason@redhat.com>
633
634 * typeck.c (mark_addressable): Don't call put_var_into_stack.
492cca24
JM
635
636 * decl.c (maybe_commonize_var): Set DECL_UNINLINABLE for statics
637 in inlines.
638
4e135bdd
KG
6392000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
640
641 * decl.c (grokdeclarator, save_function_data): Use memcpy, not bcopy.
642 * lex.c (copy_lang_decl): Likewise.
643
0a7394bc
MM
6442000-11-09 Mark Mitchell <mark@codesourcery.com>
645
13507bd8
MM
646 * dump.c (cp_dump_tree): Don't dump function bodies here.
647
0a7394bc
MM
648 * Make-lang.in (CXX_C_OBJS): Add c-dump.o.
649 (dump.o): Update dependency list.
650 * cp-tree.h (DECL_MAYBE_TEMPLATE): Remove.
651 (flag_dump_translation_unit): Likewise.
652 (CP_TYPE_QUALS): Adjust definition.
653 (DECL_C_BIT_FIELD): Remove.
654 (SET_DECL_C_BIT_FIELD): Likewise.
655 (CLEAR_DECL_C_BIT_FIELD): Likewise.
656 (add_maybe_template): Likewise.
657 (strip_array_types): Likewise.
658 (dump_node_to_file): Likewise.
659 (cp_dump_tree): New function.
660 * decl.c (init_decl_processing): Set lang_dump_tree.
661 * decl2.c (flag_dump_translation_unit): Remove.
662 * dump.c: Move most of it to ../c-dump.c.
663 (cp_dump_tree): New function.
664 * pt.c (add_maybe_template): Remove.
665 * typeck.c (strip_array_types): Likewise.
a8a05998 666
5362b086
EC
6672000-11-07 Eric Christopher <echristo@redhat.com>
668
492cca24
JM
669 * decl.c (init_decl_processing): Change definition of
670 __wchar_t to wchar_t. Remove artificial declaration of
671 wchar_t.
672 * lex.c: Change instances of __wchar_t to wchar_t.
5362b086 673
5361cbb7
NS
6742000-11-09 Nathan Sidwell <nathan@codesourcery.com>
675
676 * lex.c (do_identifier): Don't lookup_name for operators.
677 * parse.y (operator): Save looking_for_typename.
678 (unoperator): Restore it.
679 * spew.c (frob_opname): Use nth_token for lookahead.
680
36791f1e
NS
6812000-11-08 Nathan Sidwell <nathan@codesourcery.com>
682
683 * decl.c (grok_op_properties): Always use coerce_new_type and
684 coerce_delete_type.
685 * decl2.c (coerce_new_type): Use c_size_type_node. Preserve
686 exception specification. Tidy up.
687 (coerce_delete_type): Preserve exception specification. Tidy up.
688
961192e1
JM
6892000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
690
691 * class.c (duplicate_tag_error, build_vtbl_initializer), decl.c
692 (push_binding_level), error.c (cp_tree_printer), pt.c
693 (process_partial_specialization, tsubst_template_arg_vector),
694 search.c (lookup_member): Use memset () instead of bzero ().
695
d48ebde1
NS
6962000-11-07 Nathan Sidwell <nathan@codesourcery.com>
697
698 * decl.c (build_ptrmemfunc_type): Allow error_mark_node.
699
436a88a6
JM
7002000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
701
702 * Make-lang.in (c++.distdir): Remove.
703
7a4e5091
MM
7042000-11-04 Mark Mitchell <mark@codesourcery.com>
705
706 * decl2.c (do_nonmember_using_decl): Allow `extern "C"'
707 declarations from different namespaces to be combined.
708
0e9295cf
ZW
7092000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
710
711 * decl.c: Include tm_p.h.
712
da61dec9
JM
7132000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
714
715 * tree.c (cp_tree_equal): Use memcmp () instead of bcmp ().
716
9473c522
JM
7172000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
718
719 * dump.c (dequeue_and_dump), lex.c (interface_strcmp), method.c
720 (build_overload_value), repo.c (open_repo_file), xref.c
721 (open_xref_file): Use strchr () and strrchr () instead of index ()
722 and rindex ().
723
b0b3afb2
BS
7242000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
725
726 * call.c (build_over_call): Call fold on the CALL_EXPR.
727
faafaee6
GDR
7282000-11-01 Gabriel Dos Reis <gdr@codesourcery.com>
729
730 * error.c (dump_template_decl): Separate template hearders with
731 space not comma.
732
761f0855
GDR
7332000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
734
735 * error.c: Move TFF_ macros into cp-tree.h. Throughout, replace
736 TS_* flags with corresponding TFF_*. Adjust prototypes of
737 functions (which used to take a tree_string_flags) to take an int.
738
739 * cp-tree.h (enum tree_string_flags): Remove
740 (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE,
741 TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPEDEF, TFF_DECL_SPECIFIERS,
742 TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
743 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
744 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS,
745 TFF_TEMPLATE_NAME, TFF_EXPR_IN_PARENS, TFF_SCOPE): New macros.
746 (type_as_string, decl_as_string, expr_as_string,
747 context_as_string): Adjust prototype.
748
749 * class.c (dump_class_hierarchy_r): Use TFF_PLAIN_IDENTIFIER
750 instead of TS_PLAIN.
751
752 * pt.c (mangle_class_name_for_template): Use TFF_CHASE_TYPEDEF
753 instead of TF_CHASE_TYPEDEFS. Use TFF_PLAIN_IDENTIFIER instead of
754 plain `0'.
755
ad50e811
MM
7562000-10-30 Mark Mitchell <mark@codesourcery.com>
757
758 * cp-tree.h (DECL_EXTERNAL_LINKAGE_P): New macro.
759 (linkage_kind): New enumeration.
760 (decl_linkage): New function.
761 * decl2.c (comdat_linkage): Extend comment.
762 * error.c (dump_function_decl): Print the arguments used to
763 instantiate a template, even when not printing the type of the
764 function.
765 * pt.c (convert_nontype_argument): Use DECL_EXTERNAL_LINKAGE_P,
766 not TREE_PUBLIC, to test for external linkage.
767 * tree.c (decl_linkage): New function.
768
930cd796
MM
7692000-10-28 Mark Mitchell <mark@codesourcery.com>
770
771 * pt.c (instantiate_decl): Always instantiate static data members
772 initialized in-class.
773
b8dad04b
ZW
7742000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
775
776 * Make-lang.in: Move all build rules here from Makefile.in,
777 adapt to new context. Wrap all rules that change the current
778 directory in parentheses. Expunge all references to $(P).
779 When one command depends on another and they're run all at
780 once, use && to separate them, not ;. Add OUTPUT_OPTION to
781 all object-file generation rules. Delete obsolete variables.
782
783 * Makefile.in: Delete.
784 * config-lang.in: Delete outputs= line.
785
5f9cd837
GDR
7862000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
787
788 * error.c (dump_function_decl): Print no space between
789 `ptr-operator' the `type-specifier' of the return type.
790 (dump_type_prefix): Make sure we put space at the appropriate
5362b086 791 place.
5f9cd837 792
6c6ed0ef
JM
7932000-10-23 Jason Merrill <jason@redhat.com>
794
795 * call.c (equal_functions): Also call decls_match for extern "C" fns.
796
7972000-10-22 Jason Merrill <jason@redhat.com>
798
799 * call.c (build_conditional_expr): Use ocp_convert to force
800 rvalue conversion.
801
e36308b0
MM
8022000-10-22 Mark Mitchell <mark@codesourcery.com>
803
583ca5a0
MM
804 * call.c (standard_conversion): Use RVALUE_CONVs for all
805 expressions that satisfy lvalue_p, not just those that satisfy
806 real_lvalue_p.
807
f9808f81
MM
808 * optimize.c (copy_body_r): Don't treat CALL_EXPRs specially.
809
5362b086 810 * typeck.c (c_sizeof): Return an expression of `size_t' type,
e36308b0
MM
811 not one with TYPE_IS_SIZETYPE set.
812 (dubious_conversion_warnings): Remove special-case code.
813
3b9ae6f0
GK
8142000-10-21 Geoffrey Keating <geoffk@cygnus.com>
815
7a0f14e5
GK
816 * decl2.c (arg_assoc_type): Handle VECTOR_TYPE.
817 * error.c (dump_type): Handle VECTOR_TYPE like POINTER_TYPE.
818 (dump_type_prefix): Print vector-of-int as 'int vector'.
819 (dump_type_suffix): Handle VECTOR_TYPE like POINTER_TYPE.
820 * tree.c (walk_tree): Handle VECTOR_TYPE.
821
3b9ae6f0 822 * decl.c (init_decl_processing): Call MD_INIT_BUILTINS.
5362b086 823
aca77bd1
JM
8242000-10-21 Jason Merrill <jason@redhat.com>
825
826 * parse.y (operator): Set got_object from got_scope.
827 Set looking_for_typename.
828 * decl.c (lookup_name_real): Clear val after setting from_obj.
829 Reorganize diagnostic.
830
ba523395
JM
8312000-10-20 Jason Merrill <jason@redhat.com>
832
833 * tree.c (walk_tree): Don't walk into default args.
834
835 * error.c (dump_expr): Use host_integerp.
836
2e44948d
DE
8372000-10-20 David Edelsohn <edelsohn@gnu.org>
838
839 * typeck2.c (abstract_virtuals_error): Use "because" instead of
840 "since" in error message.
841
44475138
RK
842Fri Oct 20 13:54:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
843
844 * typeck.c (dubious_conversion_warning): Suppress if TYPE_IS_SIZETYPE.
845
11306230
JO
8462000-10-20 Jeffrey Oldham <oldham@codesourcery.com>
847
848 * decl.c (revert_static_member_fn): Fixed typo.
849
97ba1e3c
MM
8502000-10-19 Mark Mitchell <mark@codesourcery.com>
851
c20118a8
MM
852 * class.c (subobject_offset_fn): New type.
853 (dfs_record_base_offsets): Remove.
854 (record_base_offsets): Likewise.
855 (dfs_search_base_offsets): Likewise.
856 (record_subobject_offset): New function.
857 (check_subobject_offset): Likewise.
858 (walk_subobject_offsets): Likewise.
859 (record_subobject_offsets): Likewise.
860 (layout_conflict_p): Reimplement.
861 (layout_nonempty_base_or_field): Correct handling of type
862 conflicts during layout.
863 (layout_empty_base): Likewise.
864 (build_base_field): Adjust to handle new representation of empty
865 base offset table.
866 (build_base_fields): Likewise.
867 (layout_virtual_bases): Likewise.
868 (splay_tree_compare_integer_csts): New function.
869 (layout_class_type): Use a splay_tree, rather than a varray, to
870 represent the offsets of empty bases.
5362b086 871
97ba1e3c
MM
872 * cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL.
873 * decl.c (select_decl): Don't return declarations that are
874 DECL_ANTICIPATED.
875
6bcedb4e
MM
8762000-10-18 Mark Mitchell <mark@codesourcery.com>
877
878 * cp-tree.h (cp_tree_index): Add CPTI_FAKE_STD.
879 (fake_std_node): New macro.
880 * decl.c (in_std): Rename to ...
881 (in_fake_std): ... this.
882 (flag_no_builtin): Remove.
883 (flag_no_nonansi_builtin): Likewise.
884 (walk_namespaces_r): Use fake_std_node.
885 (push_namespace): Use std_identifier.
886 (pop_namespace): Use in_fake_std.
887 (lookup_name_real): Use fake_std_node.
888 (init_decl_processing): When -fhonor-std, create the `std'
889 namespace. Don't create a dummy fake_std_node in that case.
890 Adjust call to c_common_nodes_and_builtins. Use std_identifier.
891 (builtin_function): Put builtins whose names don't begin
892 with `_' in the std namespace.
893 * decl2.c (flag_no_builtin): Remove.
894 (flag_no_nonansi_builtin): Likewise.
895 (set_decl_namespace): Use fake_std_node.
896 (validate_nonmember_using_decl): Likewise.
897 (do_using_directive): Likewise.
898 (handle_class_head): Likewise.
899 * dump.c (dequeue_and_dump): Likewise.
900 * except.c (init_exception_processing): Use std_identifier.
901 * init.c (build_member_call): Use fake_std_node.
902 * rtti.c (init_rtti_processing): Use std_identifier.
5362b086 903
67673f5c
MM
9042000-10-17 Mark Mitchell <mark@codesourcery.com>
905
906 * cp-tree.h (back_end_hook): Remove declaration.
907 * decl2.c (back_end_hook): Remove definition.
908
909 * dump.c (dequeue_and_dump): Dump TREE_USED.
910
8fef2e47
BL
911Tue Oct 17 20:19:06 2000 Brad Lucier <lucier@math.purdue.edu>
912
913 * spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).
914
652469d0
JM
9152000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
916
917 * decl.c (WINT_TYPE): Define.
918 (init_decl_processing): Create types unsigned_ptrdiff_type_node,
919 c_size_type_node, signed_size_type_node and wint_type_node.
920
74ff4629
JM
9212000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
922
923 * decl2.c (warn_missing_format_attribute): New variable.
924 (lang_decode_option): Decode -Wmissing-format-attribute.
925
634790f4
MM
9262000-10-16 Mark Mitchell <mark@codesourcery.com>
927
928 * typeck.c (qualify_type): Remove.
929 (composite_pointer_type): Fix handling of conversions to `cv void*'.
930
bb12da9d
KG
9312000-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
932
933 * Makefile.in (parse.c, parse.h): Fix think-o in last patch.
934
4b945402
KG
9352000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
936
937 * Makefile.in (parse.c, parse.h): Create atomically.
938
1f8f4a0b
MM
9392000-10-12 Mark Mitchell <mark@codesourcery.com>
940
941 * class.c (current_obstack): Remove.
942 * decl.c (ggc_p): Remove.
943 (start_decl): Don't use decl_tree_cons.
944 (grokdeclarator): Don't use build_decl_list.
945 (start_function): Don't use decl_tree_cons.
946 (finish_function): Don't mess with obstacks.
947 * decl2.c (grok_x_components): Don't use build_decl_list.
948 * lex.c (make_call_declarator): Don't call decl_tree_cons.
949 (implicitly_declare_fn): Don't call build_decl_list.
950 * parse.y (frob_specs): Don't call build_decl_list or
951 decl_tree_cons.
952 (expr_or_declarator_intern): Don't call decl_tree_cons.
953 (primary): Don't call build_decl_list.
954 (fcast_or_absdcl): Likewise.
955 (typed_declspecs): Don't call decl_tree_cons.
956 (reserved_declspecs): Don't call build_decl_list.
957 (declmods): Likewise.
958 (reserved_typespecquals): Likewise.
959 (aggr): Likewise.
960 (new_type_id): Likewise.
961 (cv_qualifiers): Likewise.
962 (after_type_declarator_intern): Likewise.
963 (notype_declarator_intern): Likewise.
964 (absdcl_intern): Likewise.
965 (named_parm): Likewise.
966 * pt.c (most_specialized_class): Likewise.
967 * repo.c (temporary_obstack): Make it a structure, not a pointer.
968 (init_repo): Initialize it.
969 * search.c (current_obstack): Remove.
970 * typeck2.c (add_exception_specifier): Don't call build_decl_list.
5362b086 971
8dc54971
RH
9722000-10-09 Richard Henderson <rth@cygnus.com>
973
974 * Make-lang.in (CXX_EXTRA_HEADERS): Remove.
975 (c++ language support bits for libgcc): Remove.
976 (c++.clean): Remove cplib2.txt cleanup.
977 * config-lang.in (headers, lib2funcs): Remove.
978
979 * exception.cc, new.cc, new1.cc, new2.cc: Remove files.
980 * tinfo.cc, tinfo.h, tinfo2.cc, vec.cc: Remove files.
981 * inc/cxxabi.h, inc/exception, inc/new: Remove files.
982 * inc/new.h, inc/typeinfo: Remove files.
983
b15ad712
JM
9842000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
985
986 * decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
987 defined.
988 (init_decl_processing): Initialize intmax_type_node and
989 uintmax_type_node.
990
156ce211
RH
9912000-10-06 Richard Henderson <rth@cygnus.com>
992
993 * cp-tree.h (struct cp_language_function): Remove x_result_rtx.
994 (original_result_rtx): Remove.
995 * decl.c (save_function_data): Don't clear x_result_rtx.
996 (mark_lang_function): Don't mark it either.
997 * expr.c (fixup_result_decl): Remove.
998 * semantics.c (genrtl_named_return_value): Frob the return decl
999 before calling emit_local_var.
1000 (genrtl_finish_function): Don't call fixup_result_decl.
1001 Always emit the jump to return_label.
1002
92777ce4
NS
10032000-10-06 Nathan Sidwell <nathan@codesourcery.com>
1004
1005 * pt.c (lookup_template_class): Set current access for enum.
1006 (tsubst_enum): Set file & line for enum decl.
5362b086 1007
92777ce4
NS
1008 * spew.c (yylex): Remove unused variable.
1009
63c16fc5
RH
10102000-10-05 Richard Henderson <rth@cygnus.com>
1011
1012 * semantics.c (genrtl_finish_function): Don't init or check
1013 can_reach_end; remove noreturn and return value checks.
1014
d1a458c4
TT
10152000-10-05 Tom Tromey <tromey@cygnus.com>
1016
1017 * init.c (build_java_class_ref): Use `build_static_name' with a
1018 suffix, not a prefix, to build the class object's name.
1019
509fc277
NS
10202000-10-05 Nathan Sidwell <nathan@codesourcery.com>
1021
1022 * cp-tree.h (access_kind): Fix comment typo.
1023 * decl2.c (grokfield): Fix diagnostic typo.
1024 * semantics.c (finish_template_type): Fix comment typo.
1025 (finish_qualified_object_call_expr): Likewise.
1026
ce2e5191
NS
10272000-10-05 Nathan Sidwell <nathan@codesourcery.com>
1028
1029 * pt.c (tsubst_expr, DECL_STMT case): Don't process if
5362b086 1030 tsubsting fails.
ce2e5191 1031
79cc5312
NS
10322000-10-05 Nathan Sidwell <nathan@codesourcery.com>
1033
1034 * spew.c (frob_id): New static function.
1035 (frob_opname): Use it.
1036 (yylex): Use it.
1037
f15b9af9
MM
10382000-10-01 Mark Mitchell <mark@codesourcery.com>
1039
1040 * decl.c (lang_mark_false_label_stack): Remove.
1041 * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
5362b086 1042
28e6b1c2
JM
10432000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
1044
1045 * gxxint.texi: Use @email for formatting email addresses.
1046
99885b3f
GDR
10472000-09-29 Gabriel Dos Reis <gdr@codesourcery.com>
1048
1049 * error.c: Remove direct obstack manipulation. Replace with
1050 output_buffer-based formatting. Adjust calls to removed macros.
1051 (obstack_chunk_alloc, obstack_chunk_free): Remove.
1052 (OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
1053 OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
1054
c06aa51e
MM
10552000-09-24 Mark Mitchell <mark@codesourcery.com>
1056
1057 * ir.texi: Move to ../c-tree.texi.
1058
99fada40
JM
10592000-09-20 Jason Merrill <jason@redhat.com>
1060
1061 * decl2.c (get_guard): Check DECL_FUNCTION_SCOPE_P.
1062
bb20cc46
AJ
10632000-09-21 Andreas Jaeger <aj@suse.de>
1064
1065 * errfn.c: Move declaration of cp_printer and cp_printers to ...
1066 * cp-tree.h: ... here.
1067
1068 * error.c: Remove declaration of cp_printer.
1069
fab701da
MM
10702000-09-20 Mark Mitchell <mark@codesourcery.com>
1071
1072 * tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
1073
0370fea1
HPN
10742000-09-20 Hans-Peter Nilsson <hp@axis.com>
1075
1076 * except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
1077 users.
1078
78c120b5
MM
10792000-09-18 Mark Mitchell <mark@codesourcery.com>
1080
1081 * decl.c (start_function): Robustify.
1082
3f80e6ac
KG
10832000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1084
1085 * cp-tree.h (check_function_format): Accept a `status' parameter.
bb20cc46 1086
3f80e6ac
KG
1087 * call.c, typeck.c: Updates calls to `check_function_format'.
1088
fc928afe
GK
10892000-09-17 Geoffrey Keating <geoffk@cygnus.com>
1090
1091 * decl2.c (handle_class_head): Always push some scope even
1092 in the error case.
1093
8f17b5c5
MM
10942000-09-16 Mark Mitchell <mark@codesourcery.com>
1095
1096 * cp-tree.h (struct cp_language_function): Remove
1097 x_scope_stmt_stack and name_declared.
1098 (current_scope_stmt_stack): Remove.
1099 (function_name_declared_p): New macro.
1100 (struct lang_decl_flags): Use c_lang_decl as a base class.
1101 (context): Remove.
1102 (struct lang_decl): Replace saved_tree with context.
1103 (DECL_FRIEND_CONTEXT): Adjust accordingly.
1104 (SET_DECL_FRIEND_CONTEXT): Likewise.
1105 (DECL_VIRTUAL_CONTEXT): Likewise.
1106 (DECL_SAVED_TREE): Remove.
1107 (C_DECLARED_LABEL_FLAG): Likewise.
1108 (cplus_expand_expr_stmt): Don't declare.
1109 (add_decl_stmt): Likewise.
1110 (add_scope_stmt): Likewise.
1111 * decl.c (mark_stmt_tree): Remove.
1112 (case_compare): Likewise.
1113 (finish_case_label): Use c_add_case_label.
1114 (init_decl_processing): Set more language-specific hooks.
1115 (build_enumerator): Fix typo in comment.
1116 (cplus_expand_expr_stmt): Remove.
1117 (mark_lang_function): Use mark_c_language_function.
1118 (lang_mark_tree): Use c_mark_lang_decl.
1119 * decl2.c: Change order of inclusion.
1120 * except.c: Likewise.
1121 * expr.c (cplus_expand_expr): Remove handling of STMT_EXPR. Fall
1122 back on c_expand_expr.
1123 * friend.c: Include expr.h.
1124 * init.c: Change order of inclusion.
1125 * Makefile.in: Update dependencies.
1126 * lex.h (free_lang_decl_chain): Remove.
1127 * optimize.c (maybe_clone_body): Use function_name_declared_p.
1128 * pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
1129 it doesn't exist.
1130 (instantiate_decl): Use function_name_declared_p.
1131 * semantics.c (lang_expand_expr_stmt): Remove.
1132 (set_current_function_name_declared): Likewise.
1133 (current_function_name_declared): Likewise.
1134 (begin_compound_stmt): Use function_name_declared_p.
1135 (add_decl_stmt): Remove.
1136 (setup_vtbl_ptr): Use function_name_declared_p.
1137 (add_scope_stmt): Remove.
1138 (current_scope_stmt_stack): New function.
1139 (cp_expand_stmt): Don't handle SCOPE_STMTs.
1140 (expand_body): Use function_name_declared_p.
1141 * tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
1142 * typeck.c: Change order of includes.
1143 (convert_sequence): Remove.
bb20cc46 1144
d9dbd9b1
JM
11452000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
1146
1147 * lex.c (reswords): Add _Complex.
1148
9985f210
RK
1149Thu Sep 14 12:10:45 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1150
1151 * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
1152
f903ebb1
DA
11532000-09-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1154
1155 * init.c (begin_init_stmts): Don't use // comments.
1156
f2ae0c45
JM
11572000-09-12 Jason Merrill <jason@redhat.com>
1158
1159 * decl.c (maybe_deduce_size_from_array_init): Set do_default for
1160 all non-extern arrays.
1161
1162 * decl.c (grokdeclarator): Complain about 'friend T' for implicit
1163 typenames, too. Downgrade complaint to pedwarn.
1164 (xref_tag): Warn about surprising behavior of 'friend struct T'.
1165 * decl2.c (handle_class_head): Generate a TYPENAME_TYPE for
1166 'class This::Inherited'.
1167
71ad4a16
MM
11682000-09-12 Mark Mitchell <mark@codesourcery.com>
1169
1170 * decl.c (finish_case_label): Given the LABEL_DECL a
1171 DECL_CONTEXT.
1172
c3e76028
GDR
11732000-09-12 Gabriel Dos Reis <gdr@codesourcery.com>
1174
1175 * error.c (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE,
1176 TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPDEF,
1177 TFF_DECL_SPECIFIERS, TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
1178 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
1179 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS, TFF_SCOPE):
1180 New macros.
1181 (sorry_for_unsupported_tree, print_scope_operator,
1182 print_left_paren, print_right_paren, print_left_bracket,
1183 print_right_bracket, print_whitespace): Likewise.
1184 (aggr_variety): Rename to class_key_or_enum.
1185 (print_type): Rename to print_type_id.
1186 (print_type_specifier_seq, print_simple_type_specifier,
1187 print_elaborated_type_specifier,
1188 print_rest_of_abstract_declarator,
1189 print_parameter_declaration_clause, print_exception_specification,
1190 print_nested_name_specifier, print_template_id,
1191 typedef_original_name, print_template_argument_list_start,
1192 print_template_argument_list_end): New functions.
1193
eb50138b
GDR
11942000-09-11 Gabriel Dos Reis <gdr@codesourcery.com>
1195
a8a05998 1196 * ir.texi: Add more documentation.
eb50138b 1197
f444e36b
MM
11982000-09-11 Mark Mitchell <mark@codesourcery.com>
1199
1200 * cp-tree.h (struct saved_scope): Remove x_function_parms.
1201 (current_function_parms): Don't define.
1202 (struct cp_language_function): Remove parms_stored.
1203 (current_function_just_assigned_this): Don't define.
1204 (current_function_parms_stored): Likewise.
1205 (static_ctors): Declare.
1206 (static_dtors): Likewise.
1207 (SF_EXPAND): Don't define.
1208 (expand_start_early_try_stmts): Remove declaration.
1209 (store_parm_decls): Likewise.
1210 * decl.c (static_ctors): Don't declare.
1211 (static_dtors): Likewise.
1212 (struct binding_level): Remove this_block.
1213 (poplevel): Remove dead code.
1214 (set_block): Likewise.
1215 (mark_binding_level): Don't mark this_block.
1216 (mark_saved_scope): Don't mark x_function_parms.
1217 (init_decl_processing): Don't add current_function_parms as a GC
1218 root.
1219 (check_function_type): Change prototype.
1220 (start_function): Remove RTL-generation code.
1221 (expand_start_early_try_stmts): Remove.
1222 (store_parm_decls): Give it internal linkage. Remove
1223 RTL-generation code.
1224 (finish_function): Remove RTL-generation code.
1225 * decl2.c (static_ctors): Fix formatting.
1226 (static_dtors): Likewise.
1227 * method.c (use_thunk): Don't call store_parm_decls.
1228 (synthesize_method): Likewise.
1229 * optimize.c (maybe_clone_body): Likewise.
1230 * parse.y (fn.def2): Likewise.
1231 (.set_base_init): Likewise.
1232 (nodecls): Likewise.
1233 * pt.c (instantiate_decl): Likewise.
1234 * rtti.c (synthesize_tinfo_fn): Likewise.
1235 * semantics.c (genrtl_try_block): Simplify.
1236 (expand_body): Use genrtl_start_function and
1237 genrtl_finish_function.
1238 (genrtl_start_function): New function.
1239 (genrtl_finish_function): Likewise.
1240
181d2ba0
NS
12412000-09-11 Nathan Sidwell <nathan@codesourcery.com>
1242
1243 * error.c (cp_tree_printer, case 'P'): Append break.
1244
f2d71db6
NS
12452000-09-11 Nathan Sidwell <nathan@codesourcery.com>
1246
1247 * cp-tree.h (frob_opname): Declare.
1248 * parse.y (saved_scopes): New static variable.
1249 (cp_parse_init): Adjust.
1250 (do_id): If lastiddecl is NULL, do do_identifier.
1251 (operator): Save scope information.
aca77bd1 1252 (unoperator): New reduction. Restore scope information.
f2d71db6
NS
1253 (operator_name): Append unoperator. Call frob_opname.
1254 * spew.c (frob_opname): Define.
1255
d8ea8f28
ZW
12562000-09-10 Zack Weinberg <zack@wolery.cumb.org>
1257
1258 * decl.c, rtti.c: Include defaults.h if not already included.
1259 Don't define the *_TYPE_SIZE macros.
1260
56cb9733
MM
12612000-09-09 Mark Mitchell <mark@codesourcery.com>
1262
1263 * cp-tree.h (push_switch): Change prototype.
1264 (check_cp_case_value): Remove declaration.
1265 (decl_constant_value): Likewise.
1266 * decl.c (struct cp_switch): Add switch_stmt and cases.
1267 (case_compare): New function.
1268 (push_switch): Set switch_stmt. Initialize cases.
1269 (pop_switch): Clean up cases.
1270 (define_case_label): Rename to ...
1271 (finish_case_label): ... this. Do semantic analysis for case
1272 labels here.
1273 (start_function): Correct comment.
1274 * decl2.c (check_cp_case_value): Remove.
1275 * expr.c (do_case): Remove.
1276 * pt.c (tsubst_expr): Adjust call to finish_case_label.
1277 * semantics.c (genrtl_do_poplevel): Remove declaration.
1278 (RECHAIN_STMTS): Remove.
1279 (finish_break_stmt): Use build_break_stmt.
1280 (finish_continue_stmt): Use build_continue_stmt.
1281 (finish_switch_cond): Adjust condition here, rater than in
1282 c_expand_start_case.
1283 (finish_case_label): Remove.
1284 * typeck.c (c_expand_return): Remove.
1285 (c_expand_start_case): Likewise.
bb20cc46 1286
990a9693
GDR
12872000-09-07 Gabriel Dos Reis <gdr@codesourcery.com>
1288
1289 * ir.texi: Document type nodes.
1290
ae499cce
MM
12912000-09-06 Mark Mitchell <mark@codesourcery.com>
1292
54f7877c
MM
1293 * cp-tree.h (init_cp_semantics): Declare.
1294 (genrtl_try_block): Don't declare.
1295 (genrtl_handler): Likewise.
1296 (genrtl_catch_block): Likewise.
1297 (genrtl_ctor_stmt): Likewise.
1298 (genrtl_subobject): Likewise.
1299 (genrtl_do_poplevel): Likewise.
1300 (genrtl_named_return_value): Likewise.
1301 * lex.c (init_parse): Call init_cp_semantics.
1302 * semantics.c (genrtl_try_block): Give it internal linkage.
1303 (genrtl_handler): Likewise.
1304 (genrtl_catch_block): Likewise.
1305 (genrtl_ctor_stmt): Likewise.
1306 (genrtl_subobject): Likewise.
1307 (genrtl_do_poplevel): Likewise.
1308 (genrtl_named_return_value): Likewise.
1309 (lang_expand_stmt): Rename to ...
1310 (cp_expand_stmt): ... this. Only handle C++-specific nodes.
1311 (init_cp_semantics): Define.
1312
3a0d3e1e
MM
1313 * decl.c (initialize_local_var): Remove RTL-generating code.
1314 * semantics.c (genrtl_try_block): Fix formatting.
1315
ae499cce
MM
1316 Move statement-tree facilities from C++ to C front-end.
1317 * cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
1318 (void_zero_node): Remove.
1319 (stmt_tree): Likewise.
1320 (scope_chain): Adjust.
1321 (language_function): Rename to cp_language_function.
1322 (cp_function_chain): Adjust.
1323 (current_stmt_tree): Remove.
1324 (last_tree): Likewise.
1325 (last_expr_type): Likewise.
1326 (struct lang_decl): Adjust.
1327 (STMT_IS_FULL_EXPR_P): Remove.
1328 (add_tree): Remove.
1329 (begin_stmt_tree): Likewise.
1330 (finish_stmt_tree): Likewise.
1331 (walk_tree_fn): Likewise.
1332 (walk_stmt_tree): Likewise.
1333 * class.c (finish_struct): Replace use of add_tree with add_stmt.
1334 * decl.c (mark_stmt_tree): Adjust type.
1335 (init_decl_processing): Don't build void_zero_node.
1336 (initialize_local_var): Adjust usage of current_stmt_tree.
1337 (finish_enum): Use add_stmt, not add_tree.
1338 (save_function_data): Adjust use of language_function.
1339 (finish_constructor_body): Use add_stmt, not add_tree.
1340 (finish_destructor_body): Likewise.
1341 (push_cp_function_context): Adjust use of language_function.
1342 (pop_cp_function_context): Likewise.
1343 (mark_lang_function): Likewise.
1344 (mark_cp_function_context): Likewise.
1345 * init.c (build_aggr_init): Adjust use of current_stmt_tree.
1346 (build_vec_init): Likewise.
1347 * semantics.c (SET_LAST_STMT): Remove.
1348 (RECHAIN_STMTS): Don't use it.
1349 (stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
1350 (current_stmt_tree): Define.
1351 (add_tree): Remove.
1352 (finish_goto_stmt): Use add_stmt, not add_tree.
1353 (finish_expr_stmt): Likewise.
1354 (begin_if_stmt): Likewise.
1355 (finish_then_clause): Likewise.
1356 (begin_while_stmt): Likewise.
1357 (begin_do_stmt): Likewise.
1358 (finish_return_stmt): Likewise.
1359 (begin_for_stmt): Likewise.
1360 (finish_break_stmt): Likewise.
1361 (finish_continue_stmt): Likewise.
1362 (begin_switch_stmt): Likewise.
1363 (finish_case_label): Likewise.
1364 (begin_try_block): Likewise.
1365 (begin_function_try_block): Likewise.
1366 (begin_handler): Likewise.
1367 (begin_catch_block): Likewise.
1368 (begin_compound_stmt): Likewise.
1369 (begin_asm_stmt): Likewise.
1370 (finish_asm_stmt): Likewise.
1371 (finish_label_stmt): Likewise.
1372 (add_decl_stmt): Likewise.
1373 (finish_subobject): Likewise.
1374 (finish_decl_cleanup): Likewise.
1375 (finish_named_return_value): Likewise.
1376 (setup_vtbl_ptr): Likewise.
1377 (add_scope_stmt): Likewise.
1378 (finish_stmt_expr): Likewise.
1379 (prune_unused_decls): Remove.
1380 (begin_stmt_tree): Likewise.
1381 (finish_stmt_tree): Likewise.
1382 (prep_stmt): Adjust use of current_stmt_tree.
1383 (lang_expand_stmt): Likewise.
1384 * tree.c (statement_code_p): Remove.
1385 (cp_statement_code_p): New function.
1386 (walk_stmt_tree): Remove.
1387 (init_tree): Set lang_statement_code_p.
bb20cc46 1388
0e5921e8
ZW
13892000-09-06 Zack Weinberg <zack@wolery.cumb.org>
1390
1391 Integrated preprocessor.
1392
1393 * Make-lang.in, Makefile.in: Remove all references to input.c,
1394 gxx.gperf, and hash.h. Add ../c-lex.o to C_OBJS.
1395 * gxx.gperf, hash.h, input.c: Delete.
1396 * lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
1397 initialized properly.
1398
1399 * class.c (fixup_pending_inline): Take a tree, not a
1400 struct pending_inline *. All callers changed.
1401 (init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
1402 RID_PROTECTED entries in ridpointers[] array here.
1403 * decl.c (duplicate_decls): Do not refer to struct
1404 pending_inline.
1405 (record_builtin_type, init_decl_processing): Use RID_MAX not
1406 CP_RID_MAX.
1407 (grokdeclarator): Use C_IS_RESERVED_WORD.
1408 * decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
1409 cpplib.
1410 (grok_x_components): Do not inspect pending_inlines chain.
1411
1412 * cp-tree.h (struct lang_identifier): Add rid_code entry.
1413 (C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
1414 (flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
1415 (DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
1416 TIME_IDENTIFIER_FILEINFO): Kill.
1417 Update prototypes.
1418 * lex.h: Expunge cp_rid. Rewrite RIDBIT macros to use just a
1419 single 32-bit word.
1420 * parse.y: Call do_pending_inlines unconditionally.
1421 reinit_parse_for_method is now snarf_method. fn.defpen is no
1422 longer necessary. Remove unnecessary <itype> annotation on
1423 SCOPE. Do not refer to end_of_file or struct pending_inline.
1424 * semantics.c (begin_inline_definitions): Call
1425 do_pending_inlines unconditionally.
1426
1427 * lex.c: Remove all code now shared with C front end.
1428 Initialize cpplib properly if USE_CPPLIB. Put reserved words
1429 into the get_identifier table. Rewrite pragma handling to
1430 work with the registry. Move code to save tokens for later
1431 processing to spew.c.
1432
1433 * spew.c: Rewrite everything in terms of token streams instead
1434 of text. Move routines here from lex.c / input.c as
1435 appropriate. GC-mark trees hanging off the pending inlines
1436 chain.
1437
44835fdd
MM
14382000-09-06 Mark Mitchell <mark@codesourcery.com>
1439
1440 * NEWS: Mention that the named return value extension has been
1441 deprecated.
1442 * cp-tree.h (original_result_rtx): Define.
1443 (TREE_REFERENCE_EXPR): Remove.
1444 (DECL_VPARENT): Likewise.
1445 (pushdecl_nonclass_level): Likewise.
1446 (store_return_init): Likewise.
1447 (reinit_lang_specific): Likewise.
1448 (genrtl_named_return_value): Change prototype.
1449 * decl.c (original_result_rtx): Remove.
1450 (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
1451 Do not generate RTL for local variables here.
1452 (store_return_init): Remove.
1453 * semantics.c (genrtl_named_return_value): Simplify. Fold in
1454 store_return_init.
1455 (finish_named_return_value): Adjust accordingly. Warn that this
1456 extension is deprecated.
1457 (lang_expand_stmt): Adjust call to genrtl_named_return_value.
1458
d7c4edd0
NS
14592000-09-06 Nathan Sidwell <nathan@codesourcery.com>
1460
1461 * pt.c (type_unification_real): Replace switch with if.
1462 (unify): Tsubst non-type parms before comparing.
1463
46e2747c
NS
14642000-09-06 Nathan Sidwell <nathan@codesourcery.com>
1465
1466 * error.c (dump_typename): New function, broken out of ...
1467 (dump_type): ... here. Use it.
1468 * typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
1469
c833d2be
NS
14702000-09-06 Nathan Sidwell <nathan@codesourcery.com>
1471
1472 * init.c (build_offset_ref): Deal with namespace scoped
1473 TEMPLATE_ID_EXPRs.
1474
b1ce3eb2
NS
14752000-09-06 Nathan Sidwell <nathan@codesourcery.com>
1476
1477 * class.c (resolve_address_of_overloaded_function): Add
1478 explanation message.
1479 * decl.c (define_case_label): Reformat explanation.
1480 * decl2.c (finish_static_data_member_decl): Likewise.
1481 (grokfield): Likewise.
1482 * friend.c (do_friend): Likewise.
1483
11f53b6a
ZW
14842000-09-05 Zack Weinberg <zack@wolery.cumb.org>
1485
1486 * tree.c (walk_tree): Expose tail recursion.
1487 (walk_stmt_tree): New function.
1488 * cp-tree.h: Prototype walk_stmt_tree.
1489 * semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
1490 the BLOCKs directly. If a BLOCK has no variables after
1491 pruning, discard it.
1492 (finish_stmt_tree): Use walk_stmt_tree. No need to save and
1493 restore the line number.
1494
ee94fce6
MM
14952000-09-05 Mark Mitchell <mark@codesourcery.com>
1496
1497 * Makefile.in (CXX_TREE_H): Add dependency on HTAB_H.
1498 (pt.o): Remove dependency on HTAB_H.
1499 * cp-tree.h: Include hashtab.h.
1500 (walk_tree): Change prototype.
1501 (walk_tree_without_duplicates): New function.
1502 * decl.c (check_default_argument): Use it.
1503 * optimize.c (remap_decl): Adjust calls to walk_tree.
1504 (copy_body): Likewise.
1505 (expand_calls_inline): Likewise.
1506 (calls_setjmp_p): Use walk_tree_without_duplicates.
1507 * pt.c: Don't include hashtab.h.
1508 (for_each_template_parm): Use walk_tree_without_duplicates.
1509 * semantics.c (finish-stmt_tree): Likewise.
1510 (expand_body): Likewise.
1511 * tree.c (walk_tree): Add additional parameter.
1512 (walk_tree_without_duplicates): New function.
1513 (count_trees): Use it.
1514 (verify_stmt_tree): Adjust call to walk_tree.
1515 (find_tree): Use walk_tree_without_duplicates.
1516 (no_linkage_check): Likewise.
1517 (break_out_target_exprs): Adjust call to walk_tree.
1518 (cp_unsave): Likewise.
1519
a1281f45
KL
15202000-09-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1521
1522 * cp-tree.def (BOUND_TEMPLATE_TEMPLATE_PARM): New tree code.
1523 (TEMPLATE_TEMPLATE_PARM): Adjust comment.
1524 * cp-tree.h (TYPE_BINFO): Adjust comment.
1525 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
1526 (TEMPLATE_TYPE_PARM_INDEX): Likewise.
1527 (IS_AGGR_TYPE): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
1528 (TYPE_TEMPLATE_INFO): Likewise.
1529 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Likewise.
1530 * class.c (push_nested_class): Likewise.
1531 * decl.c (lookup_name_real): Likewise.
1532 (grokdeclarator): Likewise.
1533 (grok_op_properties): Likewise.
1534 (xref_tag): Likewise.
1535 (xref_basetypes): Likewise.
1536 * decl2.c (constructor_name_full): Likewise.
1537 (arg_assoc_template_arg): Add TEMPLATE_TEMPLATE_PARM case.
1538 (arg_assoc_type): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
1539 * error.c (dump_type): Split TEMPLATE_TEMPLATE_PARM case.
1540 (dump_type_prefix): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1541 (dump_type_suffix): Likewise.
1542 * init.c (is_aggr_type): Use BOUND_TEMPLATE_TEMPLATE_PARM
1543 instead.
1544 (get_aggr_from_typedef): Likewise.
1545 * mangle.c (write_type): Split TEMPLATE_TEMPLATE_PARM case.
1546 (write_expression): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1547 (write_template_parm): Likewise.
1548 (write_template_template_parm): Check tree code instead of
1549 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
0e5921e8 1550 * method.c (build_overload_nested_name): Add
a1281f45
KL
1551 BOUND_TEMPLATE_TEMPLATE_PARM.
1552 (process_overload_item): Split TEMPLATE_TEMPLATE_PARM case.
1553 * parse.y (bad_parm): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1554 * pt.c (convert_template_argument): Check tree code instead of
1555 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
1556 (for_each_template_parm_r): Split TEMPLATE_TEMPLATE_PARM case.
1557 (for_each_template_parm): Adjust comment.
1558 (tsubst): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize.
1559 (tsubst_copy): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1560 (unify): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize. Use
1561 template_args_equal to compare template template parameter cases.
1562 * ptree.c (print_lang_type): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1563 * search.c (lookup_field_1): Use BOUND_TEMPLATE_TEMPLATE_PARM
1564 instead.
1565 * tree.c (copy_template_template_parm): Decide whether to create
1566 a TEMPLATE_TEMPLATE_PARM or BOUND_TEMPLATE_TEMPLATE_PARM node.
1567 (walk_tree): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1568 (copy_tree_r): Likewise.
1569 * typeck.c (comptypes): Likewise. Check tree code instead of
1570 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
1571
c9672d45
ME
15722000-09-04 Mark Elbrecht <snowball3@bigfoot.com>
1573
1574 * decl.c (finish_function): Move the code for handling functions
1575 marked with the constructor and destructor attributes inside the
1576 expand_p block.
1577
67804825
NS
15782000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1579
1580 * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
1581
1bc0793e
NS
15822000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1583
1584 * pt.c (lookup_template_class): Remove abort.
1585 * tree.c (get_type_decl): Allow error_mark_node.
1586
3338663b
NS
15872000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1588
1589 * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside
1590 TEMPLATE_ID_EXPRs.
1591
1b84dc37
MM
15922000-09-03 Mark Mitchell <mark@codesourcery.com>
1593
1594 * operators.def (ALIGNOF_EXPR, MAX_EXPR, MIN_EXPR): Change
c9672d45 1595 new ABI mangling.
1b84dc37 1596
9687f8f4
NS
15972000-09-01 Nathan Sidwell <nathan@codesourcery.com>
1598
1599 * parse.y (named_class_head): Check for TYPENAME_TYPE. Simplify
c9672d45 1600 union tag mismatch error reporting.
9687f8f4 1601
4f8025eb
NS
16022000-09-01 Nathan Sidwell <nathan@codesourcery.com>
1603
c9672d45 1604 * call.c (build_scoped_method_call): Check it is not a namespace.
4f8025eb 1605
495d26d6
JM
16062000-08-30 Jason Merrill <jason@redhat.com>
1607
1608 * cp-tree.h (LOCAL_CLASS_P): Use decl_function_context.
1609
1610 * tree.c (bot_manip): Check TREE_CONSTANT rather than
1611 !TREE_SIDE_EFFECTS. Call break_out_target_exprs and
1612 build_target_expr_with_type for the non-AGGR_INIT_EXPR case.
1613
1614 * decl.c (start_function): Always call make_function_rtl.
1615
7efcf466
ZW
16162000-08-29 Zack Weinberg <zack@wolery.cumb.org>
1617
495d26d6 1618 * semantics.c (prune_unused_decls): New function.
7efcf466
ZW
1619 (finish_stmt_tree): Call it via walk_tree.
1620
63ad61ed
ZW
16212000-08-29 Zack Weinberg <zack@wolery.cumb.org>
1622
1623 * class.c (build_secondary_vtable): Constify a char *.
1624 * decl.c (init_decl_processing): Initialize function_id_node,
1625 pretty_function_id_node, and func_id_node.
1626 * input.c (struct input_source): Constify 'str'.
1627 (feed_input): Constify first argument.
1628 * mangle.c (write_identifier): Constify argument.
1629 * pt.c (mangle_class_name_for_template): Constify argument.
1630
4361b41d
MM
16312000-08-29 Mark Mitchell <mark@codesourcery.com>
1632
1633 * typeck.c (mark_addressable): Remove code that pokes around in
1634 RTL.
1635
881c6935
JM
16362000-08-28 Jason Merrill <jason@redhat.com>
1637
1638 * lex.c (file_name_nondirectory): Move to toplev.c.
1639
1640 * cp-tree.h (LOCAL_CLASS_P): New macro.
1641 * class.c (finish_struct_1): Use it.
1642
f0f33848
AS
16432000-08-27 Alex Samuel <samuel@codesourcery.com>
1644
1645 * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Remove unexplained voodoo.
1646 (write_encoding): Pass another argument to write_name.
1647 (write_name): Add ignore_local_scope parameter. Fix handling of
1648 local names.
1649 (write_nested_name): Use write_unqualified_name.
1650 (write_prefix): Likewise. Skip out on FUNCTION_DECLs.
1651 (write_template_prefix): Use write_unqualified_name.
1652 (write_component): Remove.
1653 (write_local_name): Add parameter. Use direct local entity to
1654 discriminator calculation.
0e5921e8 1655 (write_class_enum_type): Pass another argument to write_name.
f0f33848
AS
1656 (write_template_template_arg): Likewise.
1657 (make_guard_variable): Likewise.
0e5921e8 1658
94dfccd1
JM
16592000-08-27 Jason Merrill <jason@redhat.com>
1660
1661 * decl.c (pushdecl): Matching decls for local externs are found in
1662 the current level. Propagate linkage information from previous
1663 declarations.
1664
14fdf4b6
GDR
16652000-08-26 Gabriel Dos Reis <gdr@codesourcery.com>
1666
1667 * ir.texi (Expressions): Fix typo.
1668
b5232c64
GM
16692000-08-25 Greg McGary <greg@mcgary.org>
1670
1671 * tree.c (init_tree): Use ARRAY_SIZE.
1672
22a4158c
GDR
16732000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
1674
1675 * error.c (cp_tree_printer): Rework.
1676
f22967f3
MM
16772000-08-25 Mark Mitchell <mark@codesourcery.com>
1678
a0c182fe
MM
1679 * Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and
1680 dyn-string.o.
1681 (CXX_LIB2SRCS): Remove cp-demangle.c and dyn-string.c.
1682 (cp-demangle.o): Remove target.
1683 (dyn-string.o): Likewise.
1684
f22967f3
MM
1685 * decl.c (grokfndecl): Require that `main' return an `int'.
1686 * mangle.c (write_encoding): Don't mangle return types for
1687 conversion functions.
1688
a1066c99
GDR
16892000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
1690
1691 * error.c (tree_formatting_info): New data type.
1692 (tree_being_formatted): New macro.
1693 (tree_formatting_flags): Likewise.
1694 (put_whitespace): Likewise.
1695 (print_tree_identifier): Likewise.
1696 (print_identifier): Likewise.
1697 (cp_tree_printer, print_function_argument_list, print_declaration,
1698 print_expression, print_function_declaration,
1699 print_function_parameter, print_type, print_cv_qualifier): New
0e5921e8 1700 functions.
a1066c99
GDR
1701 (init_error): Initialize lang_printer.
1702
3f2b640a
JM
17032000-08-24 Jason Merrill <jason@redhat.com>
1704
1705 * typeck.c (build_ptrmemfunc): Just reinterpret if there's no
1706 adjustment necessary.
1707
7ec09bf7
GM
17082000-08-24 Greg McGary <greg@mcgary.org>
1709
1710 * cp-tree.h (MAIN_NAME_P): Remove macro.
1711
2ab99c46
GDR
17122000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
1713
1714 * error.c (print_instantiation_context): Don't forget to flush the
1715 buffer.
1716
7def1251
JM
17172000-08-23 Jason Merrill <jason@redhat.com>
1718
1719 * typeck.c (build_ptrmemfunc): Save the input pmf.
1720
1721 * method.c (process_modifiers): Use same_type_p.
1722
94350948
MM
17232000-08-23 Mark Mitchell <mark@codesourcery.com>
1724
1725 * cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
1726 * mangle.c (write_function_type): Change prototype.
1727 (write_encoding): Don't mangle return types for
1728 constructors or destructors.
1729 (write_type): Adjust call to write_function_type.
1730 * pt.c (instantiate_template): Instantiate alternate entry points
1731 when instantiating the main function.
0e5921e8 1732
a64e7329
GDR
17332000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
1734
1735 * error.c (cp_print_error_function): Don't use embedded '\n' in
0e5921e8 1736 output_printf.
a64e7329 1737
a72462a4
GDR
17382000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
1739
1740 * decl.c (init_decl_processing): Remove bogus initialization.
1741 * error.c (lang_print_error_function): Restore here.
0e5921e8
ZW
1742 (init_error): Initialize print_error_function.
1743
3add6264
TP
17442000-08-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1745
1746 * decl2.c (arg_assoc): Revert my 2000-08-11 change.
1747
cb753e49
GDR
17482000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
1749
1750 * Makefile.in (error.o): Depends on diagnostic.h
1751
1752 * cp-tree.h (problematic_instantiation_changed,
1753 record_last_problematic_instantiation, current_instantiation,
1754 print_instantiation_context): Declare.
1755 (maybe_print_template_context): Remove.
1756
1757 * decl.c (init_decl_processing): Set print_error_function to NULL.
1758 (lang_print_error_function): Remove, since we're using a new
1759 machinery.
1760
1761 * error.c: #include diagnostic.h
1762 (function_category): New function.
1763 (cp_diagnostic_starter): Likewise.
1764 (cp_diagnostic_finalizer): Likewise.
1765 (cp_print_error_function): Likewise.
1766 (maybe_print_instantiation_context): Likewise.
1767 (print_instantiation_full_context): Likewise.
1768 (print_instantiation_partial_context): Likewise.
1769 (print_instantiation_context): Define.
1770 (init_error): Initialize diagnostic pager and finalizer.
1771
1772 * pt.c (problematic_instantiation_changed): Define.
1773 (record_last_problematic_instantiation): Likewise.
1774 (current_instantiation): Likewise.
1775 (maybe_print_template_context): Remove.
1776 (print_template_context): Likewise.
1777 (current_tinst_level): Make static to reflect Brendan Kehoe's
1778 change of 1995-04-13.
0e5921e8
ZW
1779 (push_tinst_level): Call print_instantiation_context.
1780
05a3d06e 17812000-08-21 Nix <nix@esperi.demon.co.uk>
0e5921e8 1782
05a3d06e
N
1783 * lang-specs.h: Do not process -o or run the assembler if
1784 -fsyntax-only.
1785
93e2382f
JM
17862000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
1787
1788 * decl.c (flag_hosted, flag_noniso_default_format_attributes): New
1789 variables.
1790 * decl2.c (lang_decode_option): Disable gettext attributes for
1791 -ansi.
1792
24805e80
GDR
17932000-08-21 Gabriel Dos Reis <gdr@codesourcery.com>
1794
1795 * lex.c (lang_init_options): Default diagnostic message maximum
1796 length to 80, when line-wrapping.
1797
b485e15b
MM
17982000-08-20 Mark Mitchell <mark@codesourcery.com>
1799
1800 * class.c (build_vtbl_initializer): Clear the entire
1801 vtbl_init_data. Start keeping track of the functions for which we
1802 have created vcall offsets here.
1803 (dfs_build_vcall_offset_vtbl_entries): Remove.
1804 (build_vcall_offset_vtbl_entries): Reimplement.
1805 (add_vcall_offset_vtbl_entries_r): New function.
1806 (add_vcall_offset_vtbl_entries_1): Likewise. Tweak logic for
1807 computing when vcall offsets are necessary.
1808
2ae7bada
NS
18092000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1810
1811 * decl.c (member_function_or_else): Use cp_error ... %T.
1812 (grokdeclarator): Likewise.
1813 (start_method): Likewise.
0e5921e8 1814 * friend.c (make_friend_class): Use cp_pedwarn ... %T.
2ae7bada 1815
7a8b1375
NS
18162000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1817
1818 * decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
0e5921e8 1819 TYPE_DECLs.
7a8b1375 1820
19420d00
NS
18212000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1822
1823 * cp-tree.h (PTRMEM_OK_P): New macro.
1824 (itf_ptrmem_ok): New enumeration value.
1825 * class.c (resolve_address_of_overloaded_function): Add PTRMEM
1826 argument. Diagnose implicit pointer to member.
1827 (instantiate_type): Don't diagnose implicit pointer to member
1828 here. Pass itf_ptrmem_ok if ok. Adjust calls to
1829 resolve_address_of_overloaded_function.
1830 * init.c (build_offset_ref): Set PTRMEM_OK_P.
1831 (resolve_offset_ref): Don't diagnose implicit pointer to member here.
1832 * semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
1833 * typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
1834 (build_unary_op): Deal with single non-static member in
1835 microsoft-land.
1836
66081283
NS
18372000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1838
1839 * decl2.c (arg_assoc_type): Cope with TYPENAME_TYPE.
1840
fa40aa12
NS
18412000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1842
1843 * cp-tree.h (enum_name_string): Remove prototype.
1844 (report_case_error): Remove prototype.
1845 * cp/typeck2.c (enum_name_string): Remove.
1846 (report_case_error): Remove.
1847 * error.c (dump_expr): Deal with enum values directly.
1848 Correctly negate integer constant.
1849
d13b34e9
NS
18502000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1851
1852 * inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare.
1853 (__cxa_vec_delete2, __cxa_vec_delete3): Declare.
1854 * vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement.
1855 (__cxa_vec_delete2, __cxa_vec_delete3): Implement.
1856 (__cxa_vec_new): Use __cxa_vec_new2.
1857 (__cxa_vec_delete): Use __cxa_vec_delete2.
1858
2f1b80af
NS
18592000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1860
1861 * vec.cc (__cxa_vec_new): Set "C" linkage.
1862 (__cxa_vec_ctor): Likewise.
1863 (__cxa_vec_cctor): Likewise.
1864 (__cxa_vec_dtor): Likewise.
1865 (__cxa_vec_delete): Likewise.
1866 * inc/cxxabi.h (__cxa_vec_new): Set "C" linkage.
1867 (__cxa_vec_ctor): Likewise.
1868 (__cxa_vec_cctor): Likewise.
1869 (__cxa_vec_dtor): Likewise.
1870 (__cxa_vec_delete): Likewise.
1871
105d8e1f
NS
18722000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1873
1874 * class.c (instantiate_type): Reinstate local variable
1875 deleted in previous change.
0e5921e8 1876
f1819d9a
NS
1877 * cvt.c (cp_convert_to_pointer): Pass itf_complain, not
1878 itf_no_attributes.
105d8e1f 1879
5e76004e
NS
18802000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1881
1882 * cp-tree.h (instantiate_type_flags): New enumeration.
1883 (instantiate_type): Change parameter.
1884 * class.c (instantiate_type): Adjust prototype. Adjust.
1885 * call.c (standard_conversion): Adjust instantiate_type call.
1886 (reference_binding): Likewise.
1887 (build_op_delete_call): Likewise.
1888 (convert_like_real): Likewise.
1889 * cvt.c (cp_convert_to_pointer): Likewise.
1890 (convert_to_reference): Likewise.
1891 * pt.c (convert_nontype_argument): Likewise.
1892 * typeck.c (build_binary_op): Likewise.
1893 (build_ptrmemfunc): Likewise.
1894 (convert_for_assignment): Likewise.
1895
4b054b80
NS
18962000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1897
1898 * cp-tree.h (CPTR_AGGR_TAG): New global tree node.
1899 (current_aggr): Define.
1900 * decl.c (grokdeclarator): Make sure a friend class is an
1901 elaborated type specifier.
1902 * parse.y (current_aggr): Remove static definition.
1903 (cp_parse_init): Adjust.
1904 (structsp): Clear and restore current_aggr.
1905 (component_decl_list): Clear current_aggr.
0e5921e8 1906
4b054b80
NS
1907 * error.c (dump_type, case TYPENAME_TYPE): Don't emit the
1908 aggregate tag on the typename's context.
0e5921e8 1909
321cba97
NS
1910 * pt.c (tsubst_friend_class): Return error_mark_node, if
1911 parms becomes NULL.
1912 (instantiate_class_template): Ignore error_mark_node friend types.
4b054b80 1913
08aead78
NS
19142000-08-14 Nathan Sidwell <nathan@codesourcery.com>
1915
1916 * cvt.c (warn_ref_binding): New static function, broken out of ...
0e5921e8 1917 (convert_to_reference): ... here. Use it.
08aead78 1918
fa1f3ebc
KL
19192000-08-11 Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
1920
1921 * parse.y (template_arg): Add rule for template qualified with
1922 global scope.
1923
9845b52b
TP
19242000-08-11 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1925
1926 * decl2.c (add_function): Reorganize.
1927 (arg_assoc): Do not consider function template decls.
1928
e69c8072
JM
19292000-08-11 Jason Merrill <jason@redhat.com>
1930
1931 * decl.c (lookup_name_real): Don't forget the TYPENAME_TYPE we're
1932 looking inside.
1933
5c1e5476
NS
19342000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1935
1936 * cp-tree.h (resolve_scope_to_name): Remove unused prototype.
1937 (lookup_nested_tag): Likewise.
0e5921e8 1938
5c1e5476
NS
1939 * decl2.c (grokfield): Fix comment to reflect many types of _DECLs
1940 can be produced.
1941
5426aa7f
NS
19422000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1943
1944 * parse.y (named_complex_class_head_sans_basetype): Remove
1945 always true if.
1946
fd037e0d
NS
19472000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1948
1949 * decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Build
1950 explicit TEMPLATE_ID_EXPR args.
1951 (build_expr_from_tree, case CALL_EXPR): Likewise.
1952
73ae5c34
NS
19532000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1954
1955 * decl.c (check_tag_decl): Diagnose typename's which don't
1956 declare anything.
1957
aa54df09
NS
19582000-08-10 Nathan Sidwell <nathan@codesourcery.com>
1959
1960 * init.c (build_aggr_init): Reject bogus array initializers
1961 early.
1962
7e8dad18
NS
19632000-08-09 Nathan Sidwell <nathan@codesourcery.com>
1964
1965 * rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
1966 runtime.
1967 * cp/tinfo.cc (__dynamic_cast): Likewise.
0e5921e8 1968 * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
7e8dad18 1969
0f586b9b
NS
19702000-08-09 Nathan Sidwell <nathan@codesourcery.com>
1971
1972 * cvt.c (convert_to_pointer_force): Fix error message when
0e5921e8 1973 attempting to cast from ambiguous base.
0f586b9b 1974
08e72a19
JM
19752000-08-08 Jason Merrill <jason@redhat.com>
1976
1977 * pt.c (tsubst_aggr_type): Bail if creating the argvec fails.
1978 (tsubst_template_arg_vector): Likewise.
1979
1980 * decl2.c (build_anon_union_vars): Choose the largest field; don't
1981 assume that one will be as large as the union.
1982
0811ea8f
KH
19832000-08-07 Kazu Hirata <kazu@hxi.com>
1984
1985 * cp-tree.h (CLASSTYPE_HAS_PRIMARY_BASE_P): Fix a comment typo.
1986 * decl.c (pop_labels): Likewise.
1987
f9fcf62b
JO
19882000-08-04 Jeffrey Oldham <oldham@codesourcery.com>
1989
1990 * inc/cxxabi.h (__pbase_type_info): Changed member names to match
1991 specifications.
1992 (__pointer_to_member_type_info): Likewise.
1993 (__base_class_info): Likewise.
1994 (__class_type_info): Likewise.
1995 (__si_class_type_info): Likewise.
1996 (__vmi_class_type_info): Likewise.
1997 * tinfo.cc (__si_class_type_info::__do_find_public_src):
1998 Changed member names to match specifications.
1999 (__vmi_class_type_info::__do_find_public_src): Likewise.
2000 (__si_class_type_info::__do_dyncast): Likewise.
2001 (__vmi_class_type_info::__do_dyncast): Likewise.
2002 (__si_class_type_info::__do_upcast): Likewise.
2003 (__vmi_class_type_info::__do_upcast): Likewise.
2004 * tinfo2.cc (__pbase_type_info::__do_catch): Likewise.
2005 (__pbase_type_info::__pointer_catch): Likewise.
2006 (__pointer_type_info::__pointer_catch): Likewise.
2007 (__pointer_to_member_type_info::__pointer_catch): Likewise.
2008
a36556a8
ZW
20092000-08-04 Zack Weinberg <zack@wolery.cumb.org>
2010
0e5921e8
ZW
2011 * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
2012 * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
2013 (cc1plus): Link with $(BACKEND) and $(C_OBJS).
a36556a8 2014
452a394b
MM
20152000-08-04 Mark Mitchell <mark@codesourcery.com>
2016
2017 * cp-tree.h (add_method): Change prototype.
2018 * class.c (add_method): Remove FIELDS parameter. Add ERROR_P.
2019 Don't double the size of the method vector in the error case.
2020 (handle_using_decl): Adjust call to add_method.
2021 (add_implicitly_declared_members): Likewise.
2022 (clone_function_decl): Likewise.
2023 * decl2.c (check_classfn): Likewise.
2024 * semantics.c (finish_member_declaration): Likewise.
0e5921e8 2025
b8458e3e
JM
20262000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
2027
2028 * decl.c (flag_isoc94): New variable.
2029
a1bcc528
JM
20302000-08-02 Jason Merrill <jason@redhat.com>
2031
2032 * pt.c (do_type_instantiation): Add complain parm; don't complain
2033 if called recursively.
2034 * cp-tree.h, parse.y: Adjust.
2035
50e60bc3
ZW
20362000-08-02 Zack Weinberg <zack@wolery.cumb.org>
2037
eae51189
ZW
2038 * decl2.c: Silently ignore -Wstrict-prototypes; warn about
2039 -Wno-strict-prototypes.
2040
37620334
ZW
2041 * g++spec.c: Adjust type of second argument to
2042 lang_specific_driver, and update code as necessary.
2043
50e60bc3
ZW
2044 * cp-tree.h: Don't prototype min_precision here.
2045 (my_friendly_assert): Cast expression to void.
2046 * semantics.c (do_poplevel): Initialize scope_stmts.
2047
3f954fc3
MM
20482000-08-02 Mark Mitchell <mark@codesourcery.com>
2049
2050 * cp-tree.h (DECL_NEEDED_P): Tweak.
2051
ab4fa7ed
JM
20522000-07-28 Jason Merrill <jason@redhat.com>
2053
2054 * lang-specs.h: Use %i in rule for .ii files.
2055
4871239e
ZW
20562000-07-31 Zack Weinberg <zack@wolery.cumb.org>
2057
2058 * lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
2059
911a71a7
MM
20602000-07-30 Mark Mitchell <mark@codesourcery.com>
2061
2062 Allow indirect primary bases.
2063 * cp-tree.h (struct lang_type): Remove vfield_parent. Add
2064 primary_base.
2065 (CLASSTYPE_VFIELD_PARENT): Remove.
2066 (CLASSTYPE_PRIMARY_BINFO): Reimplement.
2067 (BINFO_PRIMARY_BINFO): Remove.
2068 (CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
2069 (BINFO_VBASE_PRIMARY_P): Likewise.
2070 (BINFO_PRIMARY_BASE_OF): New macro.
2071 (BINFO_INDIRECT_PRIMARY_P): Likewise.
2072 (get_primary_binfo): New function.
2073 * decl.c (lang_mark_tree): Make lang_type::primary_base.
2074 * class.c (vcall_offset_data_s): Rename to ...
2075 (vtbl_init_data_s): ... this. Rename primary_p to primary_vtbl_p,
2076 and add ctor_vtbl_p.
2077 (get_derived_offset): Use get_primary_binfo.
2078 (dfs_mark_primary_bases): Adjust handling of virtual primary
2079 bases.
2080 (mark_primary_bases): Likewise.
2081 (set_primary_base): Take a binfo, not an integer, as a
2082 representation of the primary base.
2083 (indirect_primary_base_p): Remove.
2084 (determine_primary_base): Adjust for indirect primary bases.
2085 (dfs_find_final_overrider): Fix typo in coment.
2086 (update_vtable_entry_for_fn): Use get_primary_binfo.
2087 (layout_nonempty_base_or_field): Tweak.
2088 (build_base_fields): Adjust for new primary base semantics.
2089 (dfs_propagate_binfo_offsets): Remove.
2090 (propagate_binfo_offsets): Rewrite.
2091 (dfs_set_offset_for_shared_vbases): Remove.
2092 (layout_virtual_bases): Don't use it.
2093 (layout_class_type): Set CLASSTYPE_SIZE correctly under the new
2094 ABI.
2095 (finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
2096 CLASSTYPE_VFIELD_PARENT.
2097 (dfs_get_primary_binfo): New function.
2098 (get_primary_binfo): Likewise.
2099 (dump_class_hierarchy_r): Tweak printing of primary bases.
2100 (build_vtbl_initializer): Fix typo in comments. Use
2101 vtbl_init_data.
2102 (build_vcall_and_vbase_vtbl_entries): Likewise.
2103 (build_vbaes_offset_vtbl_entries): Likewise.
2104 (dfs_build_vcall_offset_vtbl_entries): Adjust setting of
2105 BV_VCALL_INDEX to handle indirect primary bases.
2106 (build_vcall_offset_vtbl_entries): Use vtbl_init_data.
2107 (build_rtti_vtbl_entries): Likewise.
2108 * search.c (get_shared_vbase_if_not_primary): Tweak.
2109 (find_vbase_instance): Likewise.
2110 (binfo_for_vtable): Simplify.
2111 * tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
2112 (make_binfo): Make it have 11 entries.
0e5921e8 2113
722bed0f
AS
21142000-07-30 Alex Samuel <samuel@codesourcery.com>
2115
2116 * mangle.c (DECL_TEMPLATE_ID_P): Remove.
2117 (CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
2118 ascertaining primaryness.
2119 (G): Remove template_args.
2120 (decl_is_template_id): New function.
2121 (write_encoding): Use decl_is_template_id.
2122 (write_name): Likewise. Handle type_decls. Get main variant of
2123 type decls.
2124 (write_nested_name): Likewise.
2125 (write_prefix): Likewise.
2126 (write_template_prefix): Likewise.
2127 (write_special_name_constructor): Remove defunct production from
2128 comment.
2129 (write_bare_function_type): Remove comment about absent parameter.
2130 (write_template_template_arg): Add missing grammar production to
2131 comment.
2132
9076e292
JM
21332000-07-27 Jason Merrill <jason@redhat.com>
2134
2135 * decl.c (duplicate_decls): If common_type produces a non-typedef
2136 type for a typedef, just use the old type.
2137
b2244c65
MM
21382000-07-27 Mark Mitchell <mark@codesourcery.com>
2139
2140 * cp-tree.h (function_depth): Declare.
2141 (verify_stmt_tree): Likewise.
2142 (find_tree): Likewise.
2143 * decl.c (function_depth): Give it external linkage.
2144 * optimize.c (optimize_function): Increment and decrement it.
2145 * tree.c (verify_stmt_tree_r): New function.
2146 (verify_stmt_tree): Likewise.
2147 (find_tree_r): Likewise.
2148 (find_tree): Likewise.
2149
62e3bf54
JM
21502000-07-27 Jason Merrill <jason@redhat.com>
2151
9076e292
JM
2152 * pt.c (for_each_template_parm_r, case RECORD_TYPE): Use
2153 TYPE_PTRMEMFUNC_P.
2154 * cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC.
62e3bf54 2155
5a728aca
MM
21562000-07-26 Mark Mitchell <mark@codesourcery.com>
2157
2158 * decl.c (start_cleanup_fn): Mark the function as `inline'.
2159 * decl2.c (get_guard): Call cp_finish_decl, not
2160 rest_of_decl_compilation, for local guards.
2161 * lex.c (do_identifier): Remove unused variable.
2162
6a1fa5f9
ME
2163Wed Jul 26 15:05:51 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
2164
2165 * parse.y: Add missing ';'.
2166
0c10a805
MM
21672000-07-26 Mark Mitchell <mark@codesourcery.com>
2168
2169 * parse.y (empty_parms): Use `()', not `(...)', when in the scope
2170 of `extern "C++"'.
2171
8b27e9ef
NS
21722000-07-25 Nathan Sidwell <nathan@codesourcery.com>
2173
2174 Kill strict_prototype. Backwards compatibility only for
2175 non NO_IMPLICIT_EXTERN_C systems.
2176 * cp-tree.h (flag_strict_prototype): Remove.
2177 (strict_prototype): Remove.
2178 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
2179 * decl.c (maybe_push_to_top_level): Adjust.
2180 (pop_from_top_level): Adjust.
2181 (decls_match): Only allow sloppy parm matching for ancient
2182 system headers.
2183 (init_decl_processing): Adjust.
2184 (grokdeclarator): Adjust.
2185 * decl2.c (flag_strict_prototype): Remove.
2186 (strict_prototype): Remove.
2187 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
2188 (lang_f_options): Remove "strict-prototype".
2189 (unsupported-options): Add "strict-prototype".
2190 * lex.c (do_identifier): Adjust.
2191 (do_scoped_id): Adjust.
2192 * parse.y (empty_parms): Adjust.
2193 * class.c (push_lang_context): Adjust.
2194 (pop_lang_context): Adjust.
2195 * typeck.c (comp_target_parms): Adjust.
2196
c3783399
NS
21972000-07-25 Nathan Sidwell <nathan@codesourcery.com>
2198
2199 * decl.c (poplevel): Deal with anonymous variables at for scope.
2200 (maybe_inject_for_scope_var): Likewise.
2201
a7023245
ZW
22022000-07-25 Zack Weinberg <zack@wolery.cumb.org>
2203
2204 * decl.c: Remove all signal handling code, now done in toplev.c.
2205
95ee998c
MM
22062000-07-23 Mark Mitchell <mark@codesourcery.com>
2207
2208 * decl.c (make_rtl_for_nonlocal_decl): Rework.
2209
2210 * pt.c (lookup_template_class): Ensure that TYPE_CONTEXT is set
2211 correctly.
2212
1b493b81
ZW
22132000-07-20 Zack Weinberg <zack@wolery.cumb.org>
2214
2215 * cp-tree.h: Use __FUNCTION__ not __PRETTY_FUNCTION__.
2216 Define my_friendly_assert and my_friendly_abort as macros
2217 which may call friendly_abort. Prototype friendly abort, not
2218 my_friendly_abort or my_friendly_assert.
2219 * decl.c (signal_catch): Report the signal caught in the error
2220 message. Call fatal directly.
2221 * typeck2.c (ack, my_friendly_assert): Delete.
2222 (my_friendly_abort): Rename to friendly_abort. Expect file,
2223 line, and function parameters. Report the abort code, then
2224 call fancy_abort. Do not mask an abort if errors have
2225 already occurred.
2226
a306451c
NS
22272000-07-18 Nathan Sidwell <nathan@codesourcery.com>
2228
2229 * typeck.c (comp_target_parms): Remove obsolete parameter.
2230 (comp_target_types): Adjust.
2231
f49fad00
JM
22322000-07-17 Jason Merrill <jason@redhat.com>
2233
2234 * typeck.c (mark_addressable): Never set TREE_USED.
2235 * call.c (build_call): Don't abort on calls to library functions
2236 that have been declared normally.
2237
2238 * typeck.c (build_binary_op): Fix grammar in warning.
2239
2240 * exception.cc (__eh_free): Fix prototype.
2241
2242 * decl2.c (finish_decl_parsing): Handle TEMPLATE_ID_EXPR.
2243
0e5921e8 2244 * decl.c (pushdecl): Handle seeing an OVERLOAD in
f49fad00
JM
2245 IDENTIFIER_NAMESPACE_VALUE.
2246
69690d98
MM
22472000-07-16 Mark Mitchell <mark@codesourcery.com>
2248
2249 * cp-tree.h (THUNK_VCALL_OFFSET): Update documentation.
2250 * method.c (use_thunk): Correct handling of vcall offsets.
2251
bfbbc080
ZW
22522000-07-14 Zack Weinberg <zack@wolery.cumb.org>
2253
2254 * .cvsignore: parse.h and parse.c have no cp- prefix.
2255
83a90717
MM
22562000-07-13 Mark Mitchell <mark@codesourcery.com>
2257
2258 * .cvsignore: New file.
2259
ea414c97
ZW
22602000-07-13 Zack Weinberg <zack@wolery.cumb.org>
2261
2262 * lang-specs.h: Use the new named specs. Remove unnecessary braces.
2263
792abd35
MM
22642000-07-12 Mark Mitchell <mark@codesourcery.com>
2265
2266 * Makefile.in ($(PARSE_H)): Depend directly on parse.y.
2267 * parse.c: Remove.
2268 * parse.h: Likewise.
2269
72a50ab0
MM
22702000-07-11 Mark Mitchell <mark@codesourcery.com>
2271
2272 * class.c (layout_class_type): Add pointers to virtual bases after
2273 base classes under the old ABI.
2274
0dfdeca6
BC
22752000-07-10 Benjamin Chelf <chelf@codesourcery.com>
2276
2277 * semantics.c (finish_for_stmt): Remove call to emit_line_note.
2278 (finish_continue_stmt): Likewise.
2279 (begin_for_stmt): Remove call to note_level_for_for.
2280 (finish_goto_stmt): Change call from build_min_nt
2281 to build_stmt.
2282 (finish_expr_stmt): Likewise.
2283 (begin_if_stmt): Likewise.
2284 (begin_while_stmt): Likewise.
2285 (finish_while_stmt): Likewise.
2286 (finish_return_stmt): Likewise.
2287 (begin_for_stmt): Likewise.
2288 (finish_for_stmt): Likewise.
2289 (finish_break_stmt): Likewise.
2290 (begin_switch_stmt): Likewise.
2291 (finish_case_label): Likewise.
2292 (genrtl_try_block): Likewise.
2293 (begin_try_block): Likewise.
2294 (begin_handler): Likewise.
2295 (begin_compound_stmt): Likewise.
2296 (finish_asm_stmt): Likewise.
2297 (finish_label_stmt): Likewise.
2298 (add_decl_stmt): Likewise.
2299 (finish_subobject): Likewise.
2300 (finish_decl_cleanup): Likewise.
2301 (finish_named_return_value): Likewise.
2302 (setup_vtbl_ptr): Likewise.
2303 (add_scope_stmt): Likewise.
2304 * decl.c (finish_constructor_body): Likewise.
2305 (finish_destructor_body): Likewise.
2306 * optimize.c (copy_body_r): Likewise.
2307 (initialize_inlined_parameters): Likewise.
2308 (declare_return_variable): Likewise.
2309 (expand_call_inline): Likewise.
0e5921e8 2310
f12eef58
JJ
23112000-07-10 Jakub Jelinek <jakub@redhat.com>
2312
2313 * semantics.c (expand_body): Sync interface information
2314 at the end of function body expansion.
2315
2bb5d995
JM
23162000-07-09 Jason Merrill <jason@redhat.com>
2317
2318 * init.c (build_new_1): Bail early if the call to new fails.
2319
0e5921e8 2320 * decl.c (compute_array_index_type): Check specifically for
2bb5d995
JM
2321 an INTEGER_CST, not just TREE_CONSTANT.
2322
0e5921e8 2323 * decl.c (duplicate_decls): Don't call duplicate_decls on
2bb5d995
JM
2324 the DECL_TEMPLATE_RESULT.
2325 (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
2326 codes.
2327
2328 * error.c (dump_template_bindings): Don't crash if we had an
2329 invalid argument list.
2330
2331 * typeck.c (c_expand_start_case): Do narrowing here.
2332 * semantics.c (finish_switch_cond): Not here.
2333
23342000-07-09 Hidvegi Zoli <hzoli@austin.ibm.com>
2335
2336 * parse.y (asm_clobbers): Do string concatenation.
2337
089acd57
MM
23382000-07-09 Mark Mitchell <mark@codesourcery.com>
2339
2340 * decl.c (pushtag): Don't put local classes in template functions
2341 on the local_classes list.
2342
23432000-07-04 Scott Snyder <snyder@fnal.gov>
2344
2345 * decl2.c (get_guard): Add missing return for old ABI local
2346 variable case.
2347
7b019c19
MM
23482000-07-09 Mark Mitchell <mark@codesourcery.com>
2349
2350 * cp-tree.h (char_type_p): New function.
2351 * decl.c (init_decl_processing): Don't initialize
2352 signed_wchar_type_node or unsigned_wchar_type_node.
2353 (complete_array_type): Handle brace-enclosed string-constants.
2354 * rtti.c (emit_support_tinfos): Remove #if 0'd code.
2355 * tree.c (char_type_p): New function.
2356 * typeck2.c (digest_init): Use char_type_p.
2357
a5f1c5f8
NS
23582000-07-06 Nathan Sidwell <nathan@codesourcery.com>
2359
2360 * pt.c (tsubst): Don't layout type, if it's error_mark.
2361
84e5ca0f
NS
23622000-07-06 Nathan Sidwell <nathan@codesourcery.com>
2363
2364 * pt.c (instantiate_pending_templates): Reset template level.
2365
ab785305
JM
23662000-07-05 Jason Merrill <jason@redhat.com>
2367
2368 * call.c (joust): Don't complain about `operator char *()' beating
2369 `operator const char *() const'.
2370
90418208
JM
23712000-07-04 scott snyder <snyder@fnal.gov>
2372 Jason Merrill <jason@redhat.com>
2373
0e5921e8 2374 * repo.c (repo_get_id): Handle the case where a class with virtual
90418208
JM
2375 bases has a null TYPE_BINFO_VTABLE.
2376
23772000-07-04 Kevin Buhr <buhr@stat.wisc.edu>
2378 Jason Merrill <jason@redhat.com>
2379
2380 * parse.y (member_init): Just pass in the type.
2381 * init.c (expand_member_init): Handle getting a type.
2382
2383