]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
Fix typo
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
cac78ea2
MM
12000-11-22 Mark Mitchell <mark@codesourcery.com>
2
3 * pt.c (do_decl_instantiate): Explicitly clone constructors and
4 destructors that haven't already been cloned.
5
3aac38d7
RH
62000-11-20 Richard Henderson <rth@redhat.com>
7
8 * parse.y (yyparse_1): Rename the parser entry point.
9
102000-11-20 Alex Samuel <samuel@codesourcery.com>
beac9b93
AS
11
12 * mangle.c (write_name): Use <unscoped-name> for names directly in
13 function scope.
14 (write_unscoped_name): Accept names directly in function scope.
15
447306fa
NS
162000-11-20 Nathan Sidwell <nathan@codesourcery.com>
17
18 * lex.c (rid_to_yy, RID_EXPORT): Make unique keyword.
19 * parse.y (extdef): Add EXPORT reduction.
20 * spew.c (yylex): Don't skip export here.
21
2650255a
MM
222000-11-19 Mark Mitchell <mark@codesourcery.com>
23
24 * decl.c (init_decl_processing): Correct name of pure virtual
25 function under the new ABI.
26 * rtti.c (throw_bad_cast): Likewise, for bad cast function.
27 (throw_bad_typeid): Likewise for bad typeid function.
28
0657c69c
MM
292000-11-18 Mark Mitchell <mark@codesourcery.com>
30
04f3dc2b
MM
31 * decl.c (grokparms): Don't even function types of `void' type,
32 either.
33 * mangle.c (write_type): Don't crash when confronted with the
34 error_mark_node.
35
0657c69c
MM
36 * decl.c (grokparms): Don't create parameters of `void' type.
37
a8a05998
ZW
382000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
39
40 * lex.c (mark_impl_file_chain): Delete.
41 (init_parse): Remove call to ggc_add_string_root. No need to
42 ggc_strdup a string constant. Do not add impl_file_chain to GC
43 roots.
44 (handle_pragma_implementation): No need to ggc_strdup main_filename.
45
35728a80
NS
462000-11-17 Nathan Sidwell <nathan@codesourcery.com>
47
48 * pt.c (tsubst_expr, DECL_STMT): Instantiate decl's type.
49
5cce22b6
NS
502000-11-17 Nathan Sidwell <nathan@codesourcery.com>
51
52 * cp-tree.h (PARMLIST_ELLIPSIS_P): New macro.
53 * decl.c (grokdeclarator): Don't reject void parms here.
54 (require_complete_types_for_parms): Simplify, use
55 complete_type_or_else.
56 (grokparms): Remove bitrot. Remove funcdef parm.
57 Deal with ellipsis parm lists here.
58 * semantics.c (finish_parmlist): Don't append void_list_node
59 here. Set PARMLIST_ELLIPSIS_P.
60
146c8d60
NS
612000-11-17 Nathan Sidwell <nathan@codesourcery.com>
62
63 * typeck2.c (incomplete_type_error): Reorganise to avoid
64 excessive diagnostics.
65
520a57c8
ZW
662000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
67
68 * lex.c (struct impl_files, internal_filename): Constify a char *.
69
43048a06
MM
702000-11-16 Mark Mitchell <mark@codesourcery.com>
71
72 * mangle.c (write_special_name_constructor): Don't generate
73 assembler junk when confronted with an old-style constructor.
74 (write_special_name_destructor): Likewise.
75 (mangle_decl_string): Do it here instead.
76
cdb71673
NS
772000-11-16 Nathan Sidwell <nathan@codesourcery.com>
78
79 * call.c (op_error): Make error messages clearer.
80
62136084
MM
812000-11-15 Mark Mitchell <mark@codesourcery.com>
82
83 * decl.c (wrapup_globals_for_namespace): Don't mark things
84 TREE_ASM_WRITTEN when they're not.
85
ee3400e8
JM
862000-11-15 Jason Merrill <jason@redhat.com>
87
88 * typeck2.c (friendly_abort): Uncount the error before handing
89 off to fancy_abort.
90
71631a1f
NS
912000-11-15 Nathan Sidwell <nathan@codesourcery.com>
92
93 * typeck.c (lookup_anon_field): Cope with qv qualifiers.
94
79cda2d1
MM
952000-11-14 Mark Mitchell <mark@codesourcery.com>
96
97 * class.c (build_vtbl_initializer): Fix typo in comment.
98 * typeck.c (expr_sizeof): Don't crash on errors.
99
2567bc56
JW
1002000-11-14 Jim Wilson <wilson@redhat.com>
101
102 * lang-specs.h: Add %2 after %(cc1_options).
103
8422942c
RH
1042000-11-14 Richard Henderson <rth@redhat.com>
105
106 * typeck.c (c_sizeof): Be strict about casting result value
107 back to c_size_type_node.
108 (expr_sizeof, c_sizeof_nowarn, c_alignof): Likewise.
109
19552aa5
JM
1102000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
111
112 * typeck.c (build_unary_op): Use boolean_increment from
113 c-common.c, moving the relevant code there.
114
d96a6d1a
JM
1152000-11-11 Jason Merrill <jason@redhat.com>
116
117 * typeck.c (mark_addressable): Don't call put_var_into_stack.
492cca24
JM
118
119 * decl.c (maybe_commonize_var): Set DECL_UNINLINABLE for statics
120 in inlines.
121
4e135bdd
KG
1222000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
123
124 * decl.c (grokdeclarator, save_function_data): Use memcpy, not bcopy.
125 * lex.c (copy_lang_decl): Likewise.
126
0a7394bc
MM
1272000-11-09 Mark Mitchell <mark@codesourcery.com>
128
13507bd8
MM
129 * dump.c (cp_dump_tree): Don't dump function bodies here.
130
0a7394bc
MM
131 * Make-lang.in (CXX_C_OBJS): Add c-dump.o.
132 (dump.o): Update dependency list.
133 * cp-tree.h (DECL_MAYBE_TEMPLATE): Remove.
134 (flag_dump_translation_unit): Likewise.
135 (CP_TYPE_QUALS): Adjust definition.
136 (DECL_C_BIT_FIELD): Remove.
137 (SET_DECL_C_BIT_FIELD): Likewise.
138 (CLEAR_DECL_C_BIT_FIELD): Likewise.
139 (add_maybe_template): Likewise.
140 (strip_array_types): Likewise.
141 (dump_node_to_file): Likewise.
142 (cp_dump_tree): New function.
143 * decl.c (init_decl_processing): Set lang_dump_tree.
144 * decl2.c (flag_dump_translation_unit): Remove.
145 * dump.c: Move most of it to ../c-dump.c.
146 (cp_dump_tree): New function.
147 * pt.c (add_maybe_template): Remove.
148 * typeck.c (strip_array_types): Likewise.
a8a05998 149
5362b086
EC
1502000-11-07 Eric Christopher <echristo@redhat.com>
151
492cca24
JM
152 * decl.c (init_decl_processing): Change definition of
153 __wchar_t to wchar_t. Remove artificial declaration of
154 wchar_t.
155 * lex.c: Change instances of __wchar_t to wchar_t.
5362b086 156
5361cbb7
NS
1572000-11-09 Nathan Sidwell <nathan@codesourcery.com>
158
159 * lex.c (do_identifier): Don't lookup_name for operators.
160 * parse.y (operator): Save looking_for_typename.
161 (unoperator): Restore it.
162 * spew.c (frob_opname): Use nth_token for lookahead.
163
36791f1e
NS
1642000-11-08 Nathan Sidwell <nathan@codesourcery.com>
165
166 * decl.c (grok_op_properties): Always use coerce_new_type and
167 coerce_delete_type.
168 * decl2.c (coerce_new_type): Use c_size_type_node. Preserve
169 exception specification. Tidy up.
170 (coerce_delete_type): Preserve exception specification. Tidy up.
171
961192e1
JM
1722000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
173
174 * class.c (duplicate_tag_error, build_vtbl_initializer), decl.c
175 (push_binding_level), error.c (cp_tree_printer), pt.c
176 (process_partial_specialization, tsubst_template_arg_vector),
177 search.c (lookup_member): Use memset () instead of bzero ().
178
d48ebde1
NS
1792000-11-07 Nathan Sidwell <nathan@codesourcery.com>
180
181 * decl.c (build_ptrmemfunc_type): Allow error_mark_node.
182
436a88a6
JM
1832000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
184
185 * Make-lang.in (c++.distdir): Remove.
186
7a4e5091
MM
1872000-11-04 Mark Mitchell <mark@codesourcery.com>
188
189 * decl2.c (do_nonmember_using_decl): Allow `extern "C"'
190 declarations from different namespaces to be combined.
191
0e9295cf
ZW
1922000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
193
194 * decl.c: Include tm_p.h.
195
da61dec9
JM
1962000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
197
198 * tree.c (cp_tree_equal): Use memcmp () instead of bcmp ().
199
9473c522
JM
2002000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
201
202 * dump.c (dequeue_and_dump), lex.c (interface_strcmp), method.c
203 (build_overload_value), repo.c (open_repo_file), xref.c
204 (open_xref_file): Use strchr () and strrchr () instead of index ()
205 and rindex ().
206
b0b3afb2
BS
2072000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
208
209 * call.c (build_over_call): Call fold on the CALL_EXPR.
210
faafaee6
GDR
2112000-11-01 Gabriel Dos Reis <gdr@codesourcery.com>
212
213 * error.c (dump_template_decl): Separate template hearders with
214 space not comma.
215
761f0855
GDR
2162000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
217
218 * error.c: Move TFF_ macros into cp-tree.h. Throughout, replace
219 TS_* flags with corresponding TFF_*. Adjust prototypes of
220 functions (which used to take a tree_string_flags) to take an int.
221
222 * cp-tree.h (enum tree_string_flags): Remove
223 (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE,
224 TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPEDEF, TFF_DECL_SPECIFIERS,
225 TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
226 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
227 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS,
228 TFF_TEMPLATE_NAME, TFF_EXPR_IN_PARENS, TFF_SCOPE): New macros.
229 (type_as_string, decl_as_string, expr_as_string,
230 context_as_string): Adjust prototype.
231
232 * class.c (dump_class_hierarchy_r): Use TFF_PLAIN_IDENTIFIER
233 instead of TS_PLAIN.
234
235 * pt.c (mangle_class_name_for_template): Use TFF_CHASE_TYPEDEF
236 instead of TF_CHASE_TYPEDEFS. Use TFF_PLAIN_IDENTIFIER instead of
237 plain `0'.
238
ad50e811
MM
2392000-10-30 Mark Mitchell <mark@codesourcery.com>
240
241 * cp-tree.h (DECL_EXTERNAL_LINKAGE_P): New macro.
242 (linkage_kind): New enumeration.
243 (decl_linkage): New function.
244 * decl2.c (comdat_linkage): Extend comment.
245 * error.c (dump_function_decl): Print the arguments used to
246 instantiate a template, even when not printing the type of the
247 function.
248 * pt.c (convert_nontype_argument): Use DECL_EXTERNAL_LINKAGE_P,
249 not TREE_PUBLIC, to test for external linkage.
250 * tree.c (decl_linkage): New function.
251
930cd796
MM
2522000-10-28 Mark Mitchell <mark@codesourcery.com>
253
254 * pt.c (instantiate_decl): Always instantiate static data members
255 initialized in-class.
256
b8dad04b
ZW
2572000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
258
259 * Make-lang.in: Move all build rules here from Makefile.in,
260 adapt to new context. Wrap all rules that change the current
261 directory in parentheses. Expunge all references to $(P).
262 When one command depends on another and they're run all at
263 once, use && to separate them, not ;. Add OUTPUT_OPTION to
264 all object-file generation rules. Delete obsolete variables.
265
266 * Makefile.in: Delete.
267 * config-lang.in: Delete outputs= line.
268
5f9cd837
GDR
2692000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
270
271 * error.c (dump_function_decl): Print no space between
272 `ptr-operator' the `type-specifier' of the return type.
273 (dump_type_prefix): Make sure we put space at the appropriate
5362b086 274 place.
5f9cd837 275
6c6ed0ef
JM
2762000-10-23 Jason Merrill <jason@redhat.com>
277
278 * call.c (equal_functions): Also call decls_match for extern "C" fns.
279
2802000-10-22 Jason Merrill <jason@redhat.com>
281
282 * call.c (build_conditional_expr): Use ocp_convert to force
283 rvalue conversion.
284
e36308b0
MM
2852000-10-22 Mark Mitchell <mark@codesourcery.com>
286
583ca5a0
MM
287 * call.c (standard_conversion): Use RVALUE_CONVs for all
288 expressions that satisfy lvalue_p, not just those that satisfy
289 real_lvalue_p.
290
f9808f81
MM
291 * optimize.c (copy_body_r): Don't treat CALL_EXPRs specially.
292
5362b086 293 * typeck.c (c_sizeof): Return an expression of `size_t' type,
e36308b0
MM
294 not one with TYPE_IS_SIZETYPE set.
295 (dubious_conversion_warnings): Remove special-case code.
296
3b9ae6f0
GK
2972000-10-21 Geoffrey Keating <geoffk@cygnus.com>
298
7a0f14e5
GK
299 * decl2.c (arg_assoc_type): Handle VECTOR_TYPE.
300 * error.c (dump_type): Handle VECTOR_TYPE like POINTER_TYPE.
301 (dump_type_prefix): Print vector-of-int as 'int vector'.
302 (dump_type_suffix): Handle VECTOR_TYPE like POINTER_TYPE.
303 * tree.c (walk_tree): Handle VECTOR_TYPE.
304
3b9ae6f0 305 * decl.c (init_decl_processing): Call MD_INIT_BUILTINS.
5362b086 306
aca77bd1
JM
3072000-10-21 Jason Merrill <jason@redhat.com>
308
309 * parse.y (operator): Set got_object from got_scope.
310 Set looking_for_typename.
311 * decl.c (lookup_name_real): Clear val after setting from_obj.
312 Reorganize diagnostic.
313
ba523395
JM
3142000-10-20 Jason Merrill <jason@redhat.com>
315
316 * tree.c (walk_tree): Don't walk into default args.
317
318 * error.c (dump_expr): Use host_integerp.
319
2e44948d
DE
3202000-10-20 David Edelsohn <edelsohn@gnu.org>
321
322 * typeck2.c (abstract_virtuals_error): Use "because" instead of
323 "since" in error message.
324
44475138
RK
325Fri Oct 20 13:54:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
326
327 * typeck.c (dubious_conversion_warning): Suppress if TYPE_IS_SIZETYPE.
328
11306230
JO
3292000-10-20 Jeffrey Oldham <oldham@codesourcery.com>
330
331 * decl.c (revert_static_member_fn): Fixed typo.
332
97ba1e3c
MM
3332000-10-19 Mark Mitchell <mark@codesourcery.com>
334
c20118a8
MM
335 * class.c (subobject_offset_fn): New type.
336 (dfs_record_base_offsets): Remove.
337 (record_base_offsets): Likewise.
338 (dfs_search_base_offsets): Likewise.
339 (record_subobject_offset): New function.
340 (check_subobject_offset): Likewise.
341 (walk_subobject_offsets): Likewise.
342 (record_subobject_offsets): Likewise.
343 (layout_conflict_p): Reimplement.
344 (layout_nonempty_base_or_field): Correct handling of type
345 conflicts during layout.
346 (layout_empty_base): Likewise.
347 (build_base_field): Adjust to handle new representation of empty
348 base offset table.
349 (build_base_fields): Likewise.
350 (layout_virtual_bases): Likewise.
351 (splay_tree_compare_integer_csts): New function.
352 (layout_class_type): Use a splay_tree, rather than a varray, to
353 represent the offsets of empty bases.
5362b086 354
97ba1e3c
MM
355 * cp-tree.h (DECL_ANTICIPATED): Don't require a FUNCTION_DECL.
356 * decl.c (select_decl): Don't return declarations that are
357 DECL_ANTICIPATED.
358
6bcedb4e
MM
3592000-10-18 Mark Mitchell <mark@codesourcery.com>
360
361 * cp-tree.h (cp_tree_index): Add CPTI_FAKE_STD.
362 (fake_std_node): New macro.
363 * decl.c (in_std): Rename to ...
364 (in_fake_std): ... this.
365 (flag_no_builtin): Remove.
366 (flag_no_nonansi_builtin): Likewise.
367 (walk_namespaces_r): Use fake_std_node.
368 (push_namespace): Use std_identifier.
369 (pop_namespace): Use in_fake_std.
370 (lookup_name_real): Use fake_std_node.
371 (init_decl_processing): When -fhonor-std, create the `std'
372 namespace. Don't create a dummy fake_std_node in that case.
373 Adjust call to c_common_nodes_and_builtins. Use std_identifier.
374 (builtin_function): Put builtins whose names don't begin
375 with `_' in the std namespace.
376 * decl2.c (flag_no_builtin): Remove.
377 (flag_no_nonansi_builtin): Likewise.
378 (set_decl_namespace): Use fake_std_node.
379 (validate_nonmember_using_decl): Likewise.
380 (do_using_directive): Likewise.
381 (handle_class_head): Likewise.
382 * dump.c (dequeue_and_dump): Likewise.
383 * except.c (init_exception_processing): Use std_identifier.
384 * init.c (build_member_call): Use fake_std_node.
385 * rtti.c (init_rtti_processing): Use std_identifier.
5362b086 386
67673f5c
MM
3872000-10-17 Mark Mitchell <mark@codesourcery.com>
388
389 * cp-tree.h (back_end_hook): Remove declaration.
390 * decl2.c (back_end_hook): Remove definition.
391
392 * dump.c (dequeue_and_dump): Dump TREE_USED.
393
8fef2e47
BL
394Tue Oct 17 20:19:06 2000 Brad Lucier <lucier@math.purdue.edu>
395
396 * spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).
397
652469d0
JM
3982000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
399
400 * decl.c (WINT_TYPE): Define.
401 (init_decl_processing): Create types unsigned_ptrdiff_type_node,
402 c_size_type_node, signed_size_type_node and wint_type_node.
403
74ff4629
JM
4042000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
405
406 * decl2.c (warn_missing_format_attribute): New variable.
407 (lang_decode_option): Decode -Wmissing-format-attribute.
408
634790f4
MM
4092000-10-16 Mark Mitchell <mark@codesourcery.com>
410
411 * typeck.c (qualify_type): Remove.
412 (composite_pointer_type): Fix handling of conversions to `cv void*'.
413
bb12da9d
KG
4142000-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
415
416 * Makefile.in (parse.c, parse.h): Fix think-o in last patch.
417
4b945402
KG
4182000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
419
420 * Makefile.in (parse.c, parse.h): Create atomically.
421
1f8f4a0b
MM
4222000-10-12 Mark Mitchell <mark@codesourcery.com>
423
424 * class.c (current_obstack): Remove.
425 * decl.c (ggc_p): Remove.
426 (start_decl): Don't use decl_tree_cons.
427 (grokdeclarator): Don't use build_decl_list.
428 (start_function): Don't use decl_tree_cons.
429 (finish_function): Don't mess with obstacks.
430 * decl2.c (grok_x_components): Don't use build_decl_list.
431 * lex.c (make_call_declarator): Don't call decl_tree_cons.
432 (implicitly_declare_fn): Don't call build_decl_list.
433 * parse.y (frob_specs): Don't call build_decl_list or
434 decl_tree_cons.
435 (expr_or_declarator_intern): Don't call decl_tree_cons.
436 (primary): Don't call build_decl_list.
437 (fcast_or_absdcl): Likewise.
438 (typed_declspecs): Don't call decl_tree_cons.
439 (reserved_declspecs): Don't call build_decl_list.
440 (declmods): Likewise.
441 (reserved_typespecquals): Likewise.
442 (aggr): Likewise.
443 (new_type_id): Likewise.
444 (cv_qualifiers): Likewise.
445 (after_type_declarator_intern): Likewise.
446 (notype_declarator_intern): Likewise.
447 (absdcl_intern): Likewise.
448 (named_parm): Likewise.
449 * pt.c (most_specialized_class): Likewise.
450 * repo.c (temporary_obstack): Make it a structure, not a pointer.
451 (init_repo): Initialize it.
452 * search.c (current_obstack): Remove.
453 * typeck2.c (add_exception_specifier): Don't call build_decl_list.
5362b086 454
8dc54971
RH
4552000-10-09 Richard Henderson <rth@cygnus.com>
456
457 * Make-lang.in (CXX_EXTRA_HEADERS): Remove.
458 (c++ language support bits for libgcc): Remove.
459 (c++.clean): Remove cplib2.txt cleanup.
460 * config-lang.in (headers, lib2funcs): Remove.
461
462 * exception.cc, new.cc, new1.cc, new2.cc: Remove files.
463 * tinfo.cc, tinfo.h, tinfo2.cc, vec.cc: Remove files.
464 * inc/cxxabi.h, inc/exception, inc/new: Remove files.
465 * inc/new.h, inc/typeinfo: Remove files.
466
b15ad712
JM
4672000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
468
469 * decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
470 defined.
471 (init_decl_processing): Initialize intmax_type_node and
472 uintmax_type_node.
473
156ce211
RH
4742000-10-06 Richard Henderson <rth@cygnus.com>
475
476 * cp-tree.h (struct cp_language_function): Remove x_result_rtx.
477 (original_result_rtx): Remove.
478 * decl.c (save_function_data): Don't clear x_result_rtx.
479 (mark_lang_function): Don't mark it either.
480 * expr.c (fixup_result_decl): Remove.
481 * semantics.c (genrtl_named_return_value): Frob the return decl
482 before calling emit_local_var.
483 (genrtl_finish_function): Don't call fixup_result_decl.
484 Always emit the jump to return_label.
485
92777ce4
NS
4862000-10-06 Nathan Sidwell <nathan@codesourcery.com>
487
488 * pt.c (lookup_template_class): Set current access for enum.
489 (tsubst_enum): Set file & line for enum decl.
5362b086 490
92777ce4
NS
491 * spew.c (yylex): Remove unused variable.
492
63c16fc5
RH
4932000-10-05 Richard Henderson <rth@cygnus.com>
494
495 * semantics.c (genrtl_finish_function): Don't init or check
496 can_reach_end; remove noreturn and return value checks.
497
d1a458c4
TT
4982000-10-05 Tom Tromey <tromey@cygnus.com>
499
500 * init.c (build_java_class_ref): Use `build_static_name' with a
501 suffix, not a prefix, to build the class object's name.
502
509fc277
NS
5032000-10-05 Nathan Sidwell <nathan@codesourcery.com>
504
505 * cp-tree.h (access_kind): Fix comment typo.
506 * decl2.c (grokfield): Fix diagnostic typo.
507 * semantics.c (finish_template_type): Fix comment typo.
508 (finish_qualified_object_call_expr): Likewise.
509
ce2e5191
NS
5102000-10-05 Nathan Sidwell <nathan@codesourcery.com>
511
512 * pt.c (tsubst_expr, DECL_STMT case): Don't process if
5362b086 513 tsubsting fails.
ce2e5191 514
79cc5312
NS
5152000-10-05 Nathan Sidwell <nathan@codesourcery.com>
516
517 * spew.c (frob_id): New static function.
518 (frob_opname): Use it.
519 (yylex): Use it.
520
f15b9af9
MM
5212000-10-01 Mark Mitchell <mark@codesourcery.com>
522
523 * decl.c (lang_mark_false_label_stack): Remove.
524 * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
5362b086 525
28e6b1c2
JM
5262000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
527
528 * gxxint.texi: Use @email for formatting email addresses.
529
99885b3f
GDR
5302000-09-29 Gabriel Dos Reis <gdr@codesourcery.com>
531
532 * error.c: Remove direct obstack manipulation. Replace with
533 output_buffer-based formatting. Adjust calls to removed macros.
534 (obstack_chunk_alloc, obstack_chunk_free): Remove.
535 (OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
536 OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
537
c06aa51e
MM
5382000-09-24 Mark Mitchell <mark@codesourcery.com>
539
540 * ir.texi: Move to ../c-tree.texi.
541
99fada40
JM
5422000-09-20 Jason Merrill <jason@redhat.com>
543
544 * decl2.c (get_guard): Check DECL_FUNCTION_SCOPE_P.
545
bb20cc46
AJ
5462000-09-21 Andreas Jaeger <aj@suse.de>
547
548 * errfn.c: Move declaration of cp_printer and cp_printers to ...
549 * cp-tree.h: ... here.
550
551 * error.c: Remove declaration of cp_printer.
552
fab701da
MM
5532000-09-20 Mark Mitchell <mark@codesourcery.com>
554
555 * tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
556
0370fea1
HPN
5572000-09-20 Hans-Peter Nilsson <hp@axis.com>
558
559 * except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
560 users.
561
78c120b5
MM
5622000-09-18 Mark Mitchell <mark@codesourcery.com>
563
564 * decl.c (start_function): Robustify.
565
3f80e6ac
KG
5662000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
567
568 * cp-tree.h (check_function_format): Accept a `status' parameter.
bb20cc46 569
3f80e6ac
KG
570 * call.c, typeck.c: Updates calls to `check_function_format'.
571
fc928afe
GK
5722000-09-17 Geoffrey Keating <geoffk@cygnus.com>
573
574 * decl2.c (handle_class_head): Always push some scope even
575 in the error case.
576
8f17b5c5
MM
5772000-09-16 Mark Mitchell <mark@codesourcery.com>
578
579 * cp-tree.h (struct cp_language_function): Remove
580 x_scope_stmt_stack and name_declared.
581 (current_scope_stmt_stack): Remove.
582 (function_name_declared_p): New macro.
583 (struct lang_decl_flags): Use c_lang_decl as a base class.
584 (context): Remove.
585 (struct lang_decl): Replace saved_tree with context.
586 (DECL_FRIEND_CONTEXT): Adjust accordingly.
587 (SET_DECL_FRIEND_CONTEXT): Likewise.
588 (DECL_VIRTUAL_CONTEXT): Likewise.
589 (DECL_SAVED_TREE): Remove.
590 (C_DECLARED_LABEL_FLAG): Likewise.
591 (cplus_expand_expr_stmt): Don't declare.
592 (add_decl_stmt): Likewise.
593 (add_scope_stmt): Likewise.
594 * decl.c (mark_stmt_tree): Remove.
595 (case_compare): Likewise.
596 (finish_case_label): Use c_add_case_label.
597 (init_decl_processing): Set more language-specific hooks.
598 (build_enumerator): Fix typo in comment.
599 (cplus_expand_expr_stmt): Remove.
600 (mark_lang_function): Use mark_c_language_function.
601 (lang_mark_tree): Use c_mark_lang_decl.
602 * decl2.c: Change order of inclusion.
603 * except.c: Likewise.
604 * expr.c (cplus_expand_expr): Remove handling of STMT_EXPR. Fall
605 back on c_expand_expr.
606 * friend.c: Include expr.h.
607 * init.c: Change order of inclusion.
608 * Makefile.in: Update dependencies.
609 * lex.h (free_lang_decl_chain): Remove.
610 * optimize.c (maybe_clone_body): Use function_name_declared_p.
611 * pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
612 it doesn't exist.
613 (instantiate_decl): Use function_name_declared_p.
614 * semantics.c (lang_expand_expr_stmt): Remove.
615 (set_current_function_name_declared): Likewise.
616 (current_function_name_declared): Likewise.
617 (begin_compound_stmt): Use function_name_declared_p.
618 (add_decl_stmt): Remove.
619 (setup_vtbl_ptr): Use function_name_declared_p.
620 (add_scope_stmt): Remove.
621 (current_scope_stmt_stack): New function.
622 (cp_expand_stmt): Don't handle SCOPE_STMTs.
623 (expand_body): Use function_name_declared_p.
624 * tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
625 * typeck.c: Change order of includes.
626 (convert_sequence): Remove.
bb20cc46 627
d9dbd9b1
JM
6282000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
629
630 * lex.c (reswords): Add _Complex.
631
9985f210
RK
632Thu Sep 14 12:10:45 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
633
634 * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
635
f903ebb1
DA
6362000-09-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
637
638 * init.c (begin_init_stmts): Don't use // comments.
639
f2ae0c45
JM
6402000-09-12 Jason Merrill <jason@redhat.com>
641
642 * decl.c (maybe_deduce_size_from_array_init): Set do_default for
643 all non-extern arrays.
644
645 * decl.c (grokdeclarator): Complain about 'friend T' for implicit
646 typenames, too. Downgrade complaint to pedwarn.
647 (xref_tag): Warn about surprising behavior of 'friend struct T'.
648 * decl2.c (handle_class_head): Generate a TYPENAME_TYPE for
649 'class This::Inherited'.
650
71ad4a16
MM
6512000-09-12 Mark Mitchell <mark@codesourcery.com>
652
653 * decl.c (finish_case_label): Given the LABEL_DECL a
654 DECL_CONTEXT.
655
c3e76028
GDR
6562000-09-12 Gabriel Dos Reis <gdr@codesourcery.com>
657
658 * error.c (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE,
659 TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPDEF,
660 TFF_DECL_SPECIFIERS, TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
661 TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
662 TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS, TFF_SCOPE):
663 New macros.
664 (sorry_for_unsupported_tree, print_scope_operator,
665 print_left_paren, print_right_paren, print_left_bracket,
666 print_right_bracket, print_whitespace): Likewise.
667 (aggr_variety): Rename to class_key_or_enum.
668 (print_type): Rename to print_type_id.
669 (print_type_specifier_seq, print_simple_type_specifier,
670 print_elaborated_type_specifier,
671 print_rest_of_abstract_declarator,
672 print_parameter_declaration_clause, print_exception_specification,
673 print_nested_name_specifier, print_template_id,
674 typedef_original_name, print_template_argument_list_start,
675 print_template_argument_list_end): New functions.
676
eb50138b
GDR
6772000-09-11 Gabriel Dos Reis <gdr@codesourcery.com>
678
a8a05998 679 * ir.texi: Add more documentation.
eb50138b 680
f444e36b
MM
6812000-09-11 Mark Mitchell <mark@codesourcery.com>
682
683 * cp-tree.h (struct saved_scope): Remove x_function_parms.
684 (current_function_parms): Don't define.
685 (struct cp_language_function): Remove parms_stored.
686 (current_function_just_assigned_this): Don't define.
687 (current_function_parms_stored): Likewise.
688 (static_ctors): Declare.
689 (static_dtors): Likewise.
690 (SF_EXPAND): Don't define.
691 (expand_start_early_try_stmts): Remove declaration.
692 (store_parm_decls): Likewise.
693 * decl.c (static_ctors): Don't declare.
694 (static_dtors): Likewise.
695 (struct binding_level): Remove this_block.
696 (poplevel): Remove dead code.
697 (set_block): Likewise.
698 (mark_binding_level): Don't mark this_block.
699 (mark_saved_scope): Don't mark x_function_parms.
700 (init_decl_processing): Don't add current_function_parms as a GC
701 root.
702 (check_function_type): Change prototype.
703 (start_function): Remove RTL-generation code.
704 (expand_start_early_try_stmts): Remove.
705 (store_parm_decls): Give it internal linkage. Remove
706 RTL-generation code.
707 (finish_function): Remove RTL-generation code.
708 * decl2.c (static_ctors): Fix formatting.
709 (static_dtors): Likewise.
710 * method.c (use_thunk): Don't call store_parm_decls.
711 (synthesize_method): Likewise.
712 * optimize.c (maybe_clone_body): Likewise.
713 * parse.y (fn.def2): Likewise.
714 (.set_base_init): Likewise.
715 (nodecls): Likewise.
716 * pt.c (instantiate_decl): Likewise.
717 * rtti.c (synthesize_tinfo_fn): Likewise.
718 * semantics.c (genrtl_try_block): Simplify.
719 (expand_body): Use genrtl_start_function and
720 genrtl_finish_function.
721 (genrtl_start_function): New function.
722 (genrtl_finish_function): Likewise.
723
181d2ba0
NS
7242000-09-11 Nathan Sidwell <nathan@codesourcery.com>
725
726 * error.c (cp_tree_printer, case 'P'): Append break.
727
f2d71db6
NS
7282000-09-11 Nathan Sidwell <nathan@codesourcery.com>
729
730 * cp-tree.h (frob_opname): Declare.
731 * parse.y (saved_scopes): New static variable.
732 (cp_parse_init): Adjust.
733 (do_id): If lastiddecl is NULL, do do_identifier.
734 (operator): Save scope information.
aca77bd1 735 (unoperator): New reduction. Restore scope information.
f2d71db6
NS
736 (operator_name): Append unoperator. Call frob_opname.
737 * spew.c (frob_opname): Define.
738
d8ea8f28
ZW
7392000-09-10 Zack Weinberg <zack@wolery.cumb.org>
740
741 * decl.c, rtti.c: Include defaults.h if not already included.
742 Don't define the *_TYPE_SIZE macros.
743
56cb9733
MM
7442000-09-09 Mark Mitchell <mark@codesourcery.com>
745
746 * cp-tree.h (push_switch): Change prototype.
747 (check_cp_case_value): Remove declaration.
748 (decl_constant_value): Likewise.
749 * decl.c (struct cp_switch): Add switch_stmt and cases.
750 (case_compare): New function.
751 (push_switch): Set switch_stmt. Initialize cases.
752 (pop_switch): Clean up cases.
753 (define_case_label): Rename to ...
754 (finish_case_label): ... this. Do semantic analysis for case
755 labels here.
756 (start_function): Correct comment.
757 * decl2.c (check_cp_case_value): Remove.
758 * expr.c (do_case): Remove.
759 * pt.c (tsubst_expr): Adjust call to finish_case_label.
760 * semantics.c (genrtl_do_poplevel): Remove declaration.
761 (RECHAIN_STMTS): Remove.
762 (finish_break_stmt): Use build_break_stmt.
763 (finish_continue_stmt): Use build_continue_stmt.
764 (finish_switch_cond): Adjust condition here, rater than in
765 c_expand_start_case.
766 (finish_case_label): Remove.
767 * typeck.c (c_expand_return): Remove.
768 (c_expand_start_case): Likewise.
bb20cc46 769
990a9693
GDR
7702000-09-07 Gabriel Dos Reis <gdr@codesourcery.com>
771
772 * ir.texi: Document type nodes.
773
ae499cce
MM
7742000-09-06 Mark Mitchell <mark@codesourcery.com>
775
54f7877c
MM
776 * cp-tree.h (init_cp_semantics): Declare.
777 (genrtl_try_block): Don't declare.
778 (genrtl_handler): Likewise.
779 (genrtl_catch_block): Likewise.
780 (genrtl_ctor_stmt): Likewise.
781 (genrtl_subobject): Likewise.
782 (genrtl_do_poplevel): Likewise.
783 (genrtl_named_return_value): Likewise.
784 * lex.c (init_parse): Call init_cp_semantics.
785 * semantics.c (genrtl_try_block): Give it internal linkage.
786 (genrtl_handler): Likewise.
787 (genrtl_catch_block): Likewise.
788 (genrtl_ctor_stmt): Likewise.
789 (genrtl_subobject): Likewise.
790 (genrtl_do_poplevel): Likewise.
791 (genrtl_named_return_value): Likewise.
792 (lang_expand_stmt): Rename to ...
793 (cp_expand_stmt): ... this. Only handle C++-specific nodes.
794 (init_cp_semantics): Define.
795
3a0d3e1e
MM
796 * decl.c (initialize_local_var): Remove RTL-generating code.
797 * semantics.c (genrtl_try_block): Fix formatting.
798
ae499cce
MM
799 Move statement-tree facilities from C++ to C front-end.
800 * cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
801 (void_zero_node): Remove.
802 (stmt_tree): Likewise.
803 (scope_chain): Adjust.
804 (language_function): Rename to cp_language_function.
805 (cp_function_chain): Adjust.
806 (current_stmt_tree): Remove.
807 (last_tree): Likewise.
808 (last_expr_type): Likewise.
809 (struct lang_decl): Adjust.
810 (STMT_IS_FULL_EXPR_P): Remove.
811 (add_tree): Remove.
812 (begin_stmt_tree): Likewise.
813 (finish_stmt_tree): Likewise.
814 (walk_tree_fn): Likewise.
815 (walk_stmt_tree): Likewise.
816 * class.c (finish_struct): Replace use of add_tree with add_stmt.
817 * decl.c (mark_stmt_tree): Adjust type.
818 (init_decl_processing): Don't build void_zero_node.
819 (initialize_local_var): Adjust usage of current_stmt_tree.
820 (finish_enum): Use add_stmt, not add_tree.
821 (save_function_data): Adjust use of language_function.
822 (finish_constructor_body): Use add_stmt, not add_tree.
823 (finish_destructor_body): Likewise.
824 (push_cp_function_context): Adjust use of language_function.
825 (pop_cp_function_context): Likewise.
826 (mark_lang_function): Likewise.
827 (mark_cp_function_context): Likewise.
828 * init.c (build_aggr_init): Adjust use of current_stmt_tree.
829 (build_vec_init): Likewise.
830 * semantics.c (SET_LAST_STMT): Remove.
831 (RECHAIN_STMTS): Don't use it.
832 (stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
833 (current_stmt_tree): Define.
834 (add_tree): Remove.
835 (finish_goto_stmt): Use add_stmt, not add_tree.
836 (finish_expr_stmt): Likewise.
837 (begin_if_stmt): Likewise.
838 (finish_then_clause): Likewise.
839 (begin_while_stmt): Likewise.
840 (begin_do_stmt): Likewise.
841 (finish_return_stmt): Likewise.
842 (begin_for_stmt): Likewise.
843 (finish_break_stmt): Likewise.
844 (finish_continue_stmt): Likewise.
845 (begin_switch_stmt): Likewise.
846 (finish_case_label): Likewise.
847 (begin_try_block): Likewise.
848 (begin_function_try_block): Likewise.
849 (begin_handler): Likewise.
850 (begin_catch_block): Likewise.
851 (begin_compound_stmt): Likewise.
852 (begin_asm_stmt): Likewise.
853 (finish_asm_stmt): Likewise.
854 (finish_label_stmt): Likewise.
855 (add_decl_stmt): Likewise.
856 (finish_subobject): Likewise.
857 (finish_decl_cleanup): Likewise.
858 (finish_named_return_value): Likewise.
859 (setup_vtbl_ptr): Likewise.
860 (add_scope_stmt): Likewise.
861 (finish_stmt_expr): Likewise.
862 (prune_unused_decls): Remove.
863 (begin_stmt_tree): Likewise.
864 (finish_stmt_tree): Likewise.
865 (prep_stmt): Adjust use of current_stmt_tree.
866 (lang_expand_stmt): Likewise.
867 * tree.c (statement_code_p): Remove.
868 (cp_statement_code_p): New function.
869 (walk_stmt_tree): Remove.
870 (init_tree): Set lang_statement_code_p.
bb20cc46 871
0e5921e8
ZW
8722000-09-06 Zack Weinberg <zack@wolery.cumb.org>
873
874 Integrated preprocessor.
875
876 * Make-lang.in, Makefile.in: Remove all references to input.c,
877 gxx.gperf, and hash.h. Add ../c-lex.o to C_OBJS.
878 * gxx.gperf, hash.h, input.c: Delete.
879 * lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
880 initialized properly.
881
882 * class.c (fixup_pending_inline): Take a tree, not a
883 struct pending_inline *. All callers changed.
884 (init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
885 RID_PROTECTED entries in ridpointers[] array here.
886 * decl.c (duplicate_decls): Do not refer to struct
887 pending_inline.
888 (record_builtin_type, init_decl_processing): Use RID_MAX not
889 CP_RID_MAX.
890 (grokdeclarator): Use C_IS_RESERVED_WORD.
891 * decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
892 cpplib.
893 (grok_x_components): Do not inspect pending_inlines chain.
894
895 * cp-tree.h (struct lang_identifier): Add rid_code entry.
896 (C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
897 (flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
898 (DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
899 TIME_IDENTIFIER_FILEINFO): Kill.
900 Update prototypes.
901 * lex.h: Expunge cp_rid. Rewrite RIDBIT macros to use just a
902 single 32-bit word.
903 * parse.y: Call do_pending_inlines unconditionally.
904 reinit_parse_for_method is now snarf_method. fn.defpen is no
905 longer necessary. Remove unnecessary <itype> annotation on
906 SCOPE. Do not refer to end_of_file or struct pending_inline.
907 * semantics.c (begin_inline_definitions): Call
908 do_pending_inlines unconditionally.
909
910 * lex.c: Remove all code now shared with C front end.
911 Initialize cpplib properly if USE_CPPLIB. Put reserved words
912 into the get_identifier table. Rewrite pragma handling to
913 work with the registry. Move code to save tokens for later
914 processing to spew.c.
915
916 * spew.c: Rewrite everything in terms of token streams instead
917 of text. Move routines here from lex.c / input.c as
918 appropriate. GC-mark trees hanging off the pending inlines
919 chain.
920
44835fdd
MM
9212000-09-06 Mark Mitchell <mark@codesourcery.com>
922
923 * NEWS: Mention that the named return value extension has been
924 deprecated.
925 * cp-tree.h (original_result_rtx): Define.
926 (TREE_REFERENCE_EXPR): Remove.
927 (DECL_VPARENT): Likewise.
928 (pushdecl_nonclass_level): Likewise.
929 (store_return_init): Likewise.
930 (reinit_lang_specific): Likewise.
931 (genrtl_named_return_value): Change prototype.
932 * decl.c (original_result_rtx): Remove.
933 (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
934 Do not generate RTL for local variables here.
935 (store_return_init): Remove.
936 * semantics.c (genrtl_named_return_value): Simplify. Fold in
937 store_return_init.
938 (finish_named_return_value): Adjust accordingly. Warn that this
939 extension is deprecated.
940 (lang_expand_stmt): Adjust call to genrtl_named_return_value.
941
d7c4edd0
NS
9422000-09-06 Nathan Sidwell <nathan@codesourcery.com>
943
944 * pt.c (type_unification_real): Replace switch with if.
945 (unify): Tsubst non-type parms before comparing.
946
46e2747c
NS
9472000-09-06 Nathan Sidwell <nathan@codesourcery.com>
948
949 * error.c (dump_typename): New function, broken out of ...
950 (dump_type): ... here. Use it.
951 * typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
952
c833d2be
NS
9532000-09-06 Nathan Sidwell <nathan@codesourcery.com>
954
955 * init.c (build_offset_ref): Deal with namespace scoped
956 TEMPLATE_ID_EXPRs.
957
b1ce3eb2
NS
9582000-09-06 Nathan Sidwell <nathan@codesourcery.com>
959
960 * class.c (resolve_address_of_overloaded_function): Add
961 explanation message.
962 * decl.c (define_case_label): Reformat explanation.
963 * decl2.c (finish_static_data_member_decl): Likewise.
964 (grokfield): Likewise.
965 * friend.c (do_friend): Likewise.
966
11f53b6a
ZW
9672000-09-05 Zack Weinberg <zack@wolery.cumb.org>
968
969 * tree.c (walk_tree): Expose tail recursion.
970 (walk_stmt_tree): New function.
971 * cp-tree.h: Prototype walk_stmt_tree.
972 * semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
973 the BLOCKs directly. If a BLOCK has no variables after
974 pruning, discard it.
975 (finish_stmt_tree): Use walk_stmt_tree. No need to save and
976 restore the line number.
977
ee94fce6
MM
9782000-09-05 Mark Mitchell <mark@codesourcery.com>
979
980 * Makefile.in (CXX_TREE_H): Add dependency on HTAB_H.
981 (pt.o): Remove dependency on HTAB_H.
982 * cp-tree.h: Include hashtab.h.
983 (walk_tree): Change prototype.
984 (walk_tree_without_duplicates): New function.
985 * decl.c (check_default_argument): Use it.
986 * optimize.c (remap_decl): Adjust calls to walk_tree.
987 (copy_body): Likewise.
988 (expand_calls_inline): Likewise.
989 (calls_setjmp_p): Use walk_tree_without_duplicates.
990 * pt.c: Don't include hashtab.h.
991 (for_each_template_parm): Use walk_tree_without_duplicates.
992 * semantics.c (finish-stmt_tree): Likewise.
993 (expand_body): Likewise.
994 * tree.c (walk_tree): Add additional parameter.
995 (walk_tree_without_duplicates): New function.
996 (count_trees): Use it.
997 (verify_stmt_tree): Adjust call to walk_tree.
998 (find_tree): Use walk_tree_without_duplicates.
999 (no_linkage_check): Likewise.
1000 (break_out_target_exprs): Adjust call to walk_tree.
1001 (cp_unsave): Likewise.
1002
a1281f45
KL
10032000-09-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
1004
1005 * cp-tree.def (BOUND_TEMPLATE_TEMPLATE_PARM): New tree code.
1006 (TEMPLATE_TEMPLATE_PARM): Adjust comment.
1007 * cp-tree.h (TYPE_BINFO): Adjust comment.
1008 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
1009 (TEMPLATE_TYPE_PARM_INDEX): Likewise.
1010 (IS_AGGR_TYPE): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
1011 (TYPE_TEMPLATE_INFO): Likewise.
1012 (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Likewise.
1013 * class.c (push_nested_class): Likewise.
1014 * decl.c (lookup_name_real): Likewise.
1015 (grokdeclarator): Likewise.
1016 (grok_op_properties): Likewise.
1017 (xref_tag): Likewise.
1018 (xref_basetypes): Likewise.
1019 * decl2.c (constructor_name_full): Likewise.
1020 (arg_assoc_template_arg): Add TEMPLATE_TEMPLATE_PARM case.
1021 (arg_assoc_type): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
1022 * error.c (dump_type): Split TEMPLATE_TEMPLATE_PARM case.
1023 (dump_type_prefix): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1024 (dump_type_suffix): Likewise.
1025 * init.c (is_aggr_type): Use BOUND_TEMPLATE_TEMPLATE_PARM
1026 instead.
1027 (get_aggr_from_typedef): Likewise.
1028 * mangle.c (write_type): Split TEMPLATE_TEMPLATE_PARM case.
1029 (write_expression): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1030 (write_template_parm): Likewise.
1031 (write_template_template_parm): Check tree code instead of
1032 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
0e5921e8 1033 * method.c (build_overload_nested_name): Add
a1281f45
KL
1034 BOUND_TEMPLATE_TEMPLATE_PARM.
1035 (process_overload_item): Split TEMPLATE_TEMPLATE_PARM case.
1036 * parse.y (bad_parm): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1037 * pt.c (convert_template_argument): Check tree code instead of
1038 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
1039 (for_each_template_parm_r): Split TEMPLATE_TEMPLATE_PARM case.
1040 (for_each_template_parm): Adjust comment.
1041 (tsubst): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize.
1042 (tsubst_copy): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1043 (unify): Add BOUND_TEMPLATE_TEMPLATE_PARM. Reorganize. Use
1044 template_args_equal to compare template template parameter cases.
1045 * ptree.c (print_lang_type): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1046 * search.c (lookup_field_1): Use BOUND_TEMPLATE_TEMPLATE_PARM
1047 instead.
1048 * tree.c (copy_template_template_parm): Decide whether to create
1049 a TEMPLATE_TEMPLATE_PARM or BOUND_TEMPLATE_TEMPLATE_PARM node.
1050 (walk_tree): Add BOUND_TEMPLATE_TEMPLATE_PARM.
1051 (copy_tree_r): Likewise.
1052 * typeck.c (comptypes): Likewise. Check tree code instead of
1053 using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
1054
c9672d45
ME
10552000-09-04 Mark Elbrecht <snowball3@bigfoot.com>
1056
1057 * decl.c (finish_function): Move the code for handling functions
1058 marked with the constructor and destructor attributes inside the
1059 expand_p block.
1060
67804825
NS
10612000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1062
1063 * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
1064
1bc0793e
NS
10652000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1066
1067 * pt.c (lookup_template_class): Remove abort.
1068 * tree.c (get_type_decl): Allow error_mark_node.
1069
3338663b
NS
10702000-09-04 Nathan Sidwell <nathan@codesourcery.com>
1071
1072 * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside
1073 TEMPLATE_ID_EXPRs.
1074
1b84dc37
MM
10752000-09-03 Mark Mitchell <mark@codesourcery.com>
1076
1077 * operators.def (ALIGNOF_EXPR, MAX_EXPR, MIN_EXPR): Change
c9672d45 1078 new ABI mangling.
1b84dc37 1079
9687f8f4
NS
10802000-09-01 Nathan Sidwell <nathan@codesourcery.com>
1081
1082 * parse.y (named_class_head): Check for TYPENAME_TYPE. Simplify
c9672d45 1083 union tag mismatch error reporting.
9687f8f4 1084
4f8025eb
NS
10852000-09-01 Nathan Sidwell <nathan@codesourcery.com>
1086
c9672d45 1087 * call.c (build_scoped_method_call): Check it is not a namespace.
4f8025eb 1088
495d26d6
JM
10892000-08-30 Jason Merrill <jason@redhat.com>
1090
1091 * cp-tree.h (LOCAL_CLASS_P): Use decl_function_context.
1092
1093 * tree.c (bot_manip): Check TREE_CONSTANT rather than
1094 !TREE_SIDE_EFFECTS. Call break_out_target_exprs and
1095 build_target_expr_with_type for the non-AGGR_INIT_EXPR case.
1096
1097 * decl.c (start_function): Always call make_function_rtl.
1098
7efcf466
ZW
10992000-08-29 Zack Weinberg <zack@wolery.cumb.org>
1100
495d26d6 1101 * semantics.c (prune_unused_decls): New function.
7efcf466
ZW
1102 (finish_stmt_tree): Call it via walk_tree.
1103
63ad61ed
ZW
11042000-08-29 Zack Weinberg <zack@wolery.cumb.org>
1105
1106 * class.c (build_secondary_vtable): Constify a char *.
1107 * decl.c (init_decl_processing): Initialize function_id_node,
1108 pretty_function_id_node, and func_id_node.
1109 * input.c (struct input_source): Constify 'str'.
1110 (feed_input): Constify first argument.
1111 * mangle.c (write_identifier): Constify argument.
1112 * pt.c (mangle_class_name_for_template): Constify argument.
1113
4361b41d
MM
11142000-08-29 Mark Mitchell <mark@codesourcery.com>
1115
1116 * typeck.c (mark_addressable): Remove code that pokes around in
1117 RTL.
1118
881c6935
JM
11192000-08-28 Jason Merrill <jason@redhat.com>
1120
1121 * lex.c (file_name_nondirectory): Move to toplev.c.
1122
1123 * cp-tree.h (LOCAL_CLASS_P): New macro.
1124 * class.c (finish_struct_1): Use it.
1125
f0f33848
AS
11262000-08-27 Alex Samuel <samuel@codesourcery.com>
1127
1128 * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Remove unexplained voodoo.
1129 (write_encoding): Pass another argument to write_name.
1130 (write_name): Add ignore_local_scope parameter. Fix handling of
1131 local names.
1132 (write_nested_name): Use write_unqualified_name.
1133 (write_prefix): Likewise. Skip out on FUNCTION_DECLs.
1134 (write_template_prefix): Use write_unqualified_name.
1135 (write_component): Remove.
1136 (write_local_name): Add parameter. Use direct local entity to
1137 discriminator calculation.
0e5921e8 1138 (write_class_enum_type): Pass another argument to write_name.
f0f33848
AS
1139 (write_template_template_arg): Likewise.
1140 (make_guard_variable): Likewise.
0e5921e8 1141
94dfccd1
JM
11422000-08-27 Jason Merrill <jason@redhat.com>
1143
1144 * decl.c (pushdecl): Matching decls for local externs are found in
1145 the current level. Propagate linkage information from previous
1146 declarations.
1147
14fdf4b6
GDR
11482000-08-26 Gabriel Dos Reis <gdr@codesourcery.com>
1149
1150 * ir.texi (Expressions): Fix typo.
1151
b5232c64
GM
11522000-08-25 Greg McGary <greg@mcgary.org>
1153
1154 * tree.c (init_tree): Use ARRAY_SIZE.
1155
22a4158c
GDR
11562000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
1157
1158 * error.c (cp_tree_printer): Rework.
1159
f22967f3
MM
11602000-08-25 Mark Mitchell <mark@codesourcery.com>
1161
a0c182fe
MM
1162 * Make-lang.in (CXX_LIB2FUNCS): Remove cp-demangle.o and
1163 dyn-string.o.
1164 (CXX_LIB2SRCS): Remove cp-demangle.c and dyn-string.c.
1165 (cp-demangle.o): Remove target.
1166 (dyn-string.o): Likewise.
1167
f22967f3
MM
1168 * decl.c (grokfndecl): Require that `main' return an `int'.
1169 * mangle.c (write_encoding): Don't mangle return types for
1170 conversion functions.
1171
a1066c99
GDR
11722000-08-25 Gabriel Dos Reis <gdr@codesourcery.com>
1173
1174 * error.c (tree_formatting_info): New data type.
1175 (tree_being_formatted): New macro.
1176 (tree_formatting_flags): Likewise.
1177 (put_whitespace): Likewise.
1178 (print_tree_identifier): Likewise.
1179 (print_identifier): Likewise.
1180 (cp_tree_printer, print_function_argument_list, print_declaration,
1181 print_expression, print_function_declaration,
1182 print_function_parameter, print_type, print_cv_qualifier): New
0e5921e8 1183 functions.
a1066c99
GDR
1184 (init_error): Initialize lang_printer.
1185
3f2b640a
JM
11862000-08-24 Jason Merrill <jason@redhat.com>
1187
1188 * typeck.c (build_ptrmemfunc): Just reinterpret if there's no
1189 adjustment necessary.
1190
7ec09bf7
GM
11912000-08-24 Greg McGary <greg@mcgary.org>
1192
1193 * cp-tree.h (MAIN_NAME_P): Remove macro.
1194
2ab99c46
GDR
11952000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
1196
1197 * error.c (print_instantiation_context): Don't forget to flush the
1198 buffer.
1199
7def1251
JM
12002000-08-23 Jason Merrill <jason@redhat.com>
1201
1202 * typeck.c (build_ptrmemfunc): Save the input pmf.
1203
1204 * method.c (process_modifiers): Use same_type_p.
1205
94350948
MM
12062000-08-23 Mark Mitchell <mark@codesourcery.com>
1207
1208 * cp-tree.h (DECL_CLONED_FUNCTION_P): Check DECL_LANG_SPECIFIC.
1209 * mangle.c (write_function_type): Change prototype.
1210 (write_encoding): Don't mangle return types for
1211 constructors or destructors.
1212 (write_type): Adjust call to write_function_type.
1213 * pt.c (instantiate_template): Instantiate alternate entry points
1214 when instantiating the main function.
0e5921e8 1215
a64e7329
GDR
12162000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
1217
1218 * error.c (cp_print_error_function): Don't use embedded '\n' in
0e5921e8 1219 output_printf.
a64e7329 1220
a72462a4
GDR
12212000-08-23 Gabriel Dos Reis <gdr@codesourcery.com>
1222
1223 * decl.c (init_decl_processing): Remove bogus initialization.
1224 * error.c (lang_print_error_function): Restore here.
0e5921e8
ZW
1225 (init_error): Initialize print_error_function.
1226
3add6264
TP
12272000-08-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1228
1229 * decl2.c (arg_assoc): Revert my 2000-08-11 change.
1230
cb753e49
GDR
12312000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
1232
1233 * Makefile.in (error.o): Depends on diagnostic.h
1234
1235 * cp-tree.h (problematic_instantiation_changed,
1236 record_last_problematic_instantiation, current_instantiation,
1237 print_instantiation_context): Declare.
1238 (maybe_print_template_context): Remove.
1239
1240 * decl.c (init_decl_processing): Set print_error_function to NULL.
1241 (lang_print_error_function): Remove, since we're using a new
1242 machinery.
1243
1244 * error.c: #include diagnostic.h
1245 (function_category): New function.
1246 (cp_diagnostic_starter): Likewise.
1247 (cp_diagnostic_finalizer): Likewise.
1248 (cp_print_error_function): Likewise.
1249 (maybe_print_instantiation_context): Likewise.
1250 (print_instantiation_full_context): Likewise.
1251 (print_instantiation_partial_context): Likewise.
1252 (print_instantiation_context): Define.
1253 (init_error): Initialize diagnostic pager and finalizer.
1254
1255 * pt.c (problematic_instantiation_changed): Define.
1256 (record_last_problematic_instantiation): Likewise.
1257 (current_instantiation): Likewise.
1258 (maybe_print_template_context): Remove.
1259 (print_template_context): Likewise.
1260 (current_tinst_level): Make static to reflect Brendan Kehoe's
1261 change of 1995-04-13.
0e5921e8
ZW
1262 (push_tinst_level): Call print_instantiation_context.
1263
05a3d06e 12642000-08-21 Nix <nix@esperi.demon.co.uk>
0e5921e8 1265
05a3d06e
N
1266 * lang-specs.h: Do not process -o or run the assembler if
1267 -fsyntax-only.
1268
93e2382f
JM
12692000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
1270
1271 * decl.c (flag_hosted, flag_noniso_default_format_attributes): New
1272 variables.
1273 * decl2.c (lang_decode_option): Disable gettext attributes for
1274 -ansi.
1275
24805e80
GDR
12762000-08-21 Gabriel Dos Reis <gdr@codesourcery.com>
1277
1278 * lex.c (lang_init_options): Default diagnostic message maximum
1279 length to 80, when line-wrapping.
1280
b485e15b
MM
12812000-08-20 Mark Mitchell <mark@codesourcery.com>
1282
1283 * class.c (build_vtbl_initializer): Clear the entire
1284 vtbl_init_data. Start keeping track of the functions for which we
1285 have created vcall offsets here.
1286 (dfs_build_vcall_offset_vtbl_entries): Remove.
1287 (build_vcall_offset_vtbl_entries): Reimplement.
1288 (add_vcall_offset_vtbl_entries_r): New function.
1289 (add_vcall_offset_vtbl_entries_1): Likewise. Tweak logic for
1290 computing when vcall offsets are necessary.
1291
2ae7bada
NS
12922000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1293
1294 * decl.c (member_function_or_else): Use cp_error ... %T.
1295 (grokdeclarator): Likewise.
1296 (start_method): Likewise.
0e5921e8 1297 * friend.c (make_friend_class): Use cp_pedwarn ... %T.
2ae7bada 1298
7a8b1375
NS
12992000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1300
1301 * decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
0e5921e8 1302 TYPE_DECLs.
7a8b1375 1303
19420d00
NS
13042000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1305
1306 * cp-tree.h (PTRMEM_OK_P): New macro.
1307 (itf_ptrmem_ok): New enumeration value.
1308 * class.c (resolve_address_of_overloaded_function): Add PTRMEM
1309 argument. Diagnose implicit pointer to member.
1310 (instantiate_type): Don't diagnose implicit pointer to member
1311 here. Pass itf_ptrmem_ok if ok. Adjust calls to
1312 resolve_address_of_overloaded_function.
1313 * init.c (build_offset_ref): Set PTRMEM_OK_P.
1314 (resolve_offset_ref): Don't diagnose implicit pointer to member here.
1315 * semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
1316 * typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
1317 (build_unary_op): Deal with single non-static member in
1318 microsoft-land.
1319
66081283
NS
13202000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1321
1322 * decl2.c (arg_assoc_type): Cope with TYPENAME_TYPE.
1323
fa40aa12
NS
13242000-08-18 Nathan Sidwell <nathan@codesourcery.com>
1325
1326 * cp-tree.h (enum_name_string): Remove prototype.
1327 (report_case_error): Remove prototype.
1328 * cp/typeck2.c (enum_name_string): Remove.
1329 (report_case_error): Remove.
1330 * error.c (dump_expr): Deal with enum values directly.
1331 Correctly negate integer constant.
1332
d13b34e9
NS
13332000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1334
1335 * inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare.
1336 (__cxa_vec_delete2, __cxa_vec_delete3): Declare.
1337 * vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement.
1338 (__cxa_vec_delete2, __cxa_vec_delete3): Implement.
1339 (__cxa_vec_new): Use __cxa_vec_new2.
1340 (__cxa_vec_delete): Use __cxa_vec_delete2.
1341
2f1b80af
NS
13422000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1343
1344 * vec.cc (__cxa_vec_new): Set "C" linkage.
1345 (__cxa_vec_ctor): Likewise.
1346 (__cxa_vec_cctor): Likewise.
1347 (__cxa_vec_dtor): Likewise.
1348 (__cxa_vec_delete): Likewise.
1349 * inc/cxxabi.h (__cxa_vec_new): Set "C" linkage.
1350 (__cxa_vec_ctor): Likewise.
1351 (__cxa_vec_cctor): Likewise.
1352 (__cxa_vec_dtor): Likewise.
1353 (__cxa_vec_delete): Likewise.
1354
105d8e1f
NS
13552000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1356
1357 * class.c (instantiate_type): Reinstate local variable
1358 deleted in previous change.
0e5921e8 1359
f1819d9a
NS
1360 * cvt.c (cp_convert_to_pointer): Pass itf_complain, not
1361 itf_no_attributes.
105d8e1f 1362
5e76004e
NS
13632000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1364
1365 * cp-tree.h (instantiate_type_flags): New enumeration.
1366 (instantiate_type): Change parameter.
1367 * class.c (instantiate_type): Adjust prototype. Adjust.
1368 * call.c (standard_conversion): Adjust instantiate_type call.
1369 (reference_binding): Likewise.
1370 (build_op_delete_call): Likewise.
1371 (convert_like_real): Likewise.
1372 * cvt.c (cp_convert_to_pointer): Likewise.
1373 (convert_to_reference): Likewise.
1374 * pt.c (convert_nontype_argument): Likewise.
1375 * typeck.c (build_binary_op): Likewise.
1376 (build_ptrmemfunc): Likewise.
1377 (convert_for_assignment): Likewise.
1378
4b054b80
NS
13792000-08-17 Nathan Sidwell <nathan@codesourcery.com>
1380
1381 * cp-tree.h (CPTR_AGGR_TAG): New global tree node.
1382 (current_aggr): Define.
1383 * decl.c (grokdeclarator): Make sure a friend class is an
1384 elaborated type specifier.
1385 * parse.y (current_aggr): Remove static definition.
1386 (cp_parse_init): Adjust.
1387 (structsp): Clear and restore current_aggr.
1388 (component_decl_list): Clear current_aggr.
0e5921e8 1389
4b054b80
NS
1390 * error.c (dump_type, case TYPENAME_TYPE): Don't emit the
1391 aggregate tag on the typename's context.
0e5921e8 1392
321cba97
NS
1393 * pt.c (tsubst_friend_class): Return error_mark_node, if
1394 parms becomes NULL.
1395 (instantiate_class_template): Ignore error_mark_node friend types.
4b054b80 1396
08aead78
NS
13972000-08-14 Nathan Sidwell <nathan@codesourcery.com>
1398
1399 * cvt.c (warn_ref_binding): New static function, broken out of ...
0e5921e8 1400 (convert_to_reference): ... here. Use it.
08aead78 1401
fa1f3ebc
KL
14022000-08-11 Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
1403
1404 * parse.y (template_arg): Add rule for template qualified with
1405 global scope.
1406
9845b52b
TP
14072000-08-11 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1408
1409 * decl2.c (add_function): Reorganize.
1410 (arg_assoc): Do not consider function template decls.
1411
e69c8072
JM
14122000-08-11 Jason Merrill <jason@redhat.com>
1413
1414 * decl.c (lookup_name_real): Don't forget the TYPENAME_TYPE we're
1415 looking inside.
1416
5c1e5476
NS
14172000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1418
1419 * cp-tree.h (resolve_scope_to_name): Remove unused prototype.
1420 (lookup_nested_tag): Likewise.
0e5921e8 1421
5c1e5476
NS
1422 * decl2.c (grokfield): Fix comment to reflect many types of _DECLs
1423 can be produced.
1424
5426aa7f
NS
14252000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1426
1427 * parse.y (named_complex_class_head_sans_basetype): Remove
1428 always true if.
1429
fd037e0d
NS
14302000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1431
1432 * decl2.c (build_expr_from_tree, case METHOD_CALL_EXPR): Build
1433 explicit TEMPLATE_ID_EXPR args.
1434 (build_expr_from_tree, case CALL_EXPR): Likewise.
1435
73ae5c34
NS
14362000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1437
1438 * decl.c (check_tag_decl): Diagnose typename's which don't
1439 declare anything.
1440
aa54df09
NS
14412000-08-10 Nathan Sidwell <nathan@codesourcery.com>
1442
1443 * init.c (build_aggr_init): Reject bogus array initializers
1444 early.
1445
7e8dad18
NS
14462000-08-09 Nathan Sidwell <nathan@codesourcery.com>
1447
1448 * rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
1449 runtime.
1450 * cp/tinfo.cc (__dynamic_cast): Likewise.
0e5921e8 1451 * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
7e8dad18 1452
0f586b9b
NS
14532000-08-09 Nathan Sidwell <nathan@codesourcery.com>
1454
1455 * cvt.c (convert_to_pointer_force): Fix error message when
0e5921e8 1456 attempting to cast from ambiguous base.
0f586b9b 1457
08e72a19
JM
14582000-08-08 Jason Merrill <jason@redhat.com>
1459
1460 * pt.c (tsubst_aggr_type): Bail if creating the argvec fails.
1461 (tsubst_template_arg_vector): Likewise.
1462
1463 * decl2.c (build_anon_union_vars): Choose the largest field; don't
1464 assume that one will be as large as the union.
1465
0811ea8f
KH
14662000-08-07 Kazu Hirata <kazu@hxi.com>
1467
1468 * cp-tree.h (CLASSTYPE_HAS_PRIMARY_BASE_P): Fix a comment typo.
1469 * decl.c (pop_labels): Likewise.
1470
f9fcf62b
JO
14712000-08-04 Jeffrey Oldham <oldham@codesourcery.com>
1472
1473 * inc/cxxabi.h (__pbase_type_info): Changed member names to match
1474 specifications.
1475 (__pointer_to_member_type_info): Likewise.
1476 (__base_class_info): Likewise.
1477 (__class_type_info): Likewise.
1478 (__si_class_type_info): Likewise.
1479 (__vmi_class_type_info): Likewise.
1480 * tinfo.cc (__si_class_type_info::__do_find_public_src):
1481 Changed member names to match specifications.
1482 (__vmi_class_type_info::__do_find_public_src): Likewise.
1483 (__si_class_type_info::__do_dyncast): Likewise.
1484 (__vmi_class_type_info::__do_dyncast): Likewise.
1485 (__si_class_type_info::__do_upcast): Likewise.
1486 (__vmi_class_type_info::__do_upcast): Likewise.
1487 * tinfo2.cc (__pbase_type_info::__do_catch): Likewise.
1488 (__pbase_type_info::__pointer_catch): Likewise.
1489 (__pointer_type_info::__pointer_catch): Likewise.
1490 (__pointer_to_member_type_info::__pointer_catch): Likewise.
1491
a36556a8
ZW
14922000-08-04 Zack Weinberg <zack@wolery.cumb.org>
1493
0e5921e8
ZW
1494 * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
1495 * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
1496 (cc1plus): Link with $(BACKEND) and $(C_OBJS).
a36556a8 1497
452a394b
MM
14982000-08-04 Mark Mitchell <mark@codesourcery.com>
1499
1500 * cp-tree.h (add_method): Change prototype.
1501 * class.c (add_method): Remove FIELDS parameter. Add ERROR_P.
1502 Don't double the size of the method vector in the error case.
1503 (handle_using_decl): Adjust call to add_method.
1504 (add_implicitly_declared_members): Likewise.
1505 (clone_function_decl): Likewise.
1506 * decl2.c (check_classfn): Likewise.
1507 * semantics.c (finish_member_declaration): Likewise.
0e5921e8 1508
b8458e3e
JM
15092000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
1510
1511 * decl.c (flag_isoc94): New variable.
1512
a1bcc528
JM
15132000-08-02 Jason Merrill <jason@redhat.com>
1514
1515 * pt.c (do_type_instantiation): Add complain parm; don't complain
1516 if called recursively.
1517 * cp-tree.h, parse.y: Adjust.
1518
50e60bc3
ZW
15192000-08-02 Zack Weinberg <zack@wolery.cumb.org>
1520
eae51189
ZW
1521 * decl2.c: Silently ignore -Wstrict-prototypes; warn about
1522 -Wno-strict-prototypes.
1523
37620334
ZW
1524 * g++spec.c: Adjust type of second argument to
1525 lang_specific_driver, and update code as necessary.
1526
50e60bc3
ZW
1527 * cp-tree.h: Don't prototype min_precision here.
1528 (my_friendly_assert): Cast expression to void.
1529 * semantics.c (do_poplevel): Initialize scope_stmts.
1530
3f954fc3
MM
15312000-08-02 Mark Mitchell <mark@codesourcery.com>
1532
1533 * cp-tree.h (DECL_NEEDED_P): Tweak.
1534
ab4fa7ed
JM
15352000-07-28 Jason Merrill <jason@redhat.com>
1536
1537 * lang-specs.h: Use %i in rule for .ii files.
1538
4871239e
ZW
15392000-07-31 Zack Weinberg <zack@wolery.cumb.org>
1540
1541 * lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
1542
911a71a7
MM
15432000-07-30 Mark Mitchell <mark@codesourcery.com>
1544
1545 Allow indirect primary bases.
1546 * cp-tree.h (struct lang_type): Remove vfield_parent. Add
1547 primary_base.
1548 (CLASSTYPE_VFIELD_PARENT): Remove.
1549 (CLASSTYPE_PRIMARY_BINFO): Reimplement.
1550 (BINFO_PRIMARY_BINFO): Remove.
1551 (CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
1552 (BINFO_VBASE_PRIMARY_P): Likewise.
1553 (BINFO_PRIMARY_BASE_OF): New macro.
1554 (BINFO_INDIRECT_PRIMARY_P): Likewise.
1555 (get_primary_binfo): New function.
1556 * decl.c (lang_mark_tree): Make lang_type::primary_base.
1557 * class.c (vcall_offset_data_s): Rename to ...
1558 (vtbl_init_data_s): ... this. Rename primary_p to primary_vtbl_p,
1559 and add ctor_vtbl_p.
1560 (get_derived_offset): Use get_primary_binfo.
1561 (dfs_mark_primary_bases): Adjust handling of virtual primary
1562 bases.
1563 (mark_primary_bases): Likewise.
1564 (set_primary_base): Take a binfo, not an integer, as a
1565 representation of the primary base.
1566 (indirect_primary_base_p): Remove.
1567 (determine_primary_base): Adjust for indirect primary bases.
1568 (dfs_find_final_overrider): Fix typo in coment.
1569 (update_vtable_entry_for_fn): Use get_primary_binfo.
1570 (layout_nonempty_base_or_field): Tweak.
1571 (build_base_fields): Adjust for new primary base semantics.
1572 (dfs_propagate_binfo_offsets): Remove.
1573 (propagate_binfo_offsets): Rewrite.
1574 (dfs_set_offset_for_shared_vbases): Remove.
1575 (layout_virtual_bases): Don't use it.
1576 (layout_class_type): Set CLASSTYPE_SIZE correctly under the new
1577 ABI.
1578 (finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
1579 CLASSTYPE_VFIELD_PARENT.
1580 (dfs_get_primary_binfo): New function.
1581 (get_primary_binfo): Likewise.
1582 (dump_class_hierarchy_r): Tweak printing of primary bases.
1583 (build_vtbl_initializer): Fix typo in comments. Use
1584 vtbl_init_data.
1585 (build_vcall_and_vbase_vtbl_entries): Likewise.
1586 (build_vbaes_offset_vtbl_entries): Likewise.
1587 (dfs_build_vcall_offset_vtbl_entries): Adjust setting of
1588 BV_VCALL_INDEX to handle indirect primary bases.
1589 (build_vcall_offset_vtbl_entries): Use vtbl_init_data.
1590 (build_rtti_vtbl_entries): Likewise.
1591 * search.c (get_shared_vbase_if_not_primary): Tweak.
1592 (find_vbase_instance): Likewise.
1593 (binfo_for_vtable): Simplify.
1594 * tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
1595 (make_binfo): Make it have 11 entries.
0e5921e8 1596
722bed0f
AS
15972000-07-30 Alex Samuel <samuel@codesourcery.com>
1598
1599 * mangle.c (DECL_TEMPLATE_ID_P): Remove.
1600 (CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
1601 ascertaining primaryness.
1602 (G): Remove template_args.
1603 (decl_is_template_id): New function.
1604 (write_encoding): Use decl_is_template_id.
1605 (write_name): Likewise. Handle type_decls. Get main variant of
1606 type decls.
1607 (write_nested_name): Likewise.
1608 (write_prefix): Likewise.
1609 (write_template_prefix): Likewise.
1610 (write_special_name_constructor): Remove defunct production from
1611 comment.
1612 (write_bare_function_type): Remove comment about absent parameter.
1613 (write_template_template_arg): Add missing grammar production to
1614 comment.
1615
9076e292
JM
16162000-07-27 Jason Merrill <jason@redhat.com>
1617
1618 * decl.c (duplicate_decls): If common_type produces a non-typedef
1619 type for a typedef, just use the old type.
1620
b2244c65
MM
16212000-07-27 Mark Mitchell <mark@codesourcery.com>
1622
1623 * cp-tree.h (function_depth): Declare.
1624 (verify_stmt_tree): Likewise.
1625 (find_tree): Likewise.
1626 * decl.c (function_depth): Give it external linkage.
1627 * optimize.c (optimize_function): Increment and decrement it.
1628 * tree.c (verify_stmt_tree_r): New function.
1629 (verify_stmt_tree): Likewise.
1630 (find_tree_r): Likewise.
1631 (find_tree): Likewise.
1632
62e3bf54
JM
16332000-07-27 Jason Merrill <jason@redhat.com>
1634
9076e292
JM
1635 * pt.c (for_each_template_parm_r, case RECORD_TYPE): Use
1636 TYPE_PTRMEMFUNC_P.
1637 * cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC.
62e3bf54 1638
5a728aca
MM
16392000-07-26 Mark Mitchell <mark@codesourcery.com>
1640
1641 * decl.c (start_cleanup_fn): Mark the function as `inline'.
1642 * decl2.c (get_guard): Call cp_finish_decl, not
1643 rest_of_decl_compilation, for local guards.
1644 * lex.c (do_identifier): Remove unused variable.
1645
6a1fa5f9
ME
1646Wed Jul 26 15:05:51 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
1647
1648 * parse.y: Add missing ';'.
1649
0c10a805
MM
16502000-07-26 Mark Mitchell <mark@codesourcery.com>
1651
1652 * parse.y (empty_parms): Use `()', not `(...)', when in the scope
1653 of `extern "C++"'.
1654
8b27e9ef
NS
16552000-07-25 Nathan Sidwell <nathan@codesourcery.com>
1656
1657 Kill strict_prototype. Backwards compatibility only for
1658 non NO_IMPLICIT_EXTERN_C systems.
1659 * cp-tree.h (flag_strict_prototype): Remove.
1660 (strict_prototype): Remove.
1661 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
1662 * decl.c (maybe_push_to_top_level): Adjust.
1663 (pop_from_top_level): Adjust.
1664 (decls_match): Only allow sloppy parm matching for ancient
1665 system headers.
1666 (init_decl_processing): Adjust.
1667 (grokdeclarator): Adjust.
1668 * decl2.c (flag_strict_prototype): Remove.
1669 (strict_prototype): Remove.
1670 (strict_prototypes_lang_c, strict_prototypes_lang_cplusplus): Remove.
1671 (lang_f_options): Remove "strict-prototype".
1672 (unsupported-options): Add "strict-prototype".
1673 * lex.c (do_identifier): Adjust.
1674 (do_scoped_id): Adjust.
1675 * parse.y (empty_parms): Adjust.
1676 * class.c (push_lang_context): Adjust.
1677 (pop_lang_context): Adjust.
1678 * typeck.c (comp_target_parms): Adjust.
1679
c3783399
NS
16802000-07-25 Nathan Sidwell <nathan@codesourcery.com>
1681
1682 * decl.c (poplevel): Deal with anonymous variables at for scope.
1683 (maybe_inject_for_scope_var): Likewise.
1684
a7023245
ZW
16852000-07-25 Zack Weinberg <zack@wolery.cumb.org>
1686
1687 * decl.c: Remove all signal handling code, now done in toplev.c.
1688
95ee998c
MM
16892000-07-23 Mark Mitchell <mark@codesourcery.com>
1690
1691 * decl.c (make_rtl_for_nonlocal_decl): Rework.
1692
1693 * pt.c (lookup_template_class): Ensure that TYPE_CONTEXT is set
1694 correctly.
1695
1b493b81
ZW
16962000-07-20 Zack Weinberg <zack@wolery.cumb.org>
1697
1698 * cp-tree.h: Use __FUNCTION__ not __PRETTY_FUNCTION__.
1699 Define my_friendly_assert and my_friendly_abort as macros
1700 which may call friendly_abort. Prototype friendly abort, not
1701 my_friendly_abort or my_friendly_assert.
1702 * decl.c (signal_catch): Report the signal caught in the error
1703 message. Call fatal directly.
1704 * typeck2.c (ack, my_friendly_assert): Delete.
1705 (my_friendly_abort): Rename to friendly_abort. Expect file,
1706 line, and function parameters. Report the abort code, then
1707 call fancy_abort. Do not mask an abort if errors have
1708 already occurred.
1709
a306451c
NS
17102000-07-18 Nathan Sidwell <nathan@codesourcery.com>
1711
1712 * typeck.c (comp_target_parms): Remove obsolete parameter.
1713 (comp_target_types): Adjust.
1714
f49fad00
JM
17152000-07-17 Jason Merrill <jason@redhat.com>
1716
1717 * typeck.c (mark_addressable): Never set TREE_USED.
1718 * call.c (build_call): Don't abort on calls to library functions
1719 that have been declared normally.
1720
1721 * typeck.c (build_binary_op): Fix grammar in warning.
1722
1723 * exception.cc (__eh_free): Fix prototype.
1724
1725 * decl2.c (finish_decl_parsing): Handle TEMPLATE_ID_EXPR.
1726
0e5921e8 1727 * decl.c (pushdecl): Handle seeing an OVERLOAD in
f49fad00
JM
1728 IDENTIFIER_NAMESPACE_VALUE.
1729
69690d98
MM
17302000-07-16 Mark Mitchell <mark@codesourcery.com>
1731
1732 * cp-tree.h (THUNK_VCALL_OFFSET): Update documentation.
1733 * method.c (use_thunk): Correct handling of vcall offsets.
1734
bfbbc080
ZW
17352000-07-14 Zack Weinberg <zack@wolery.cumb.org>
1736
1737 * .cvsignore: parse.h and parse.c have no cp- prefix.
1738
83a90717
MM
17392000-07-13 Mark Mitchell <mark@codesourcery.com>
1740
1741 * .cvsignore: New file.
1742
ea414c97
ZW
17432000-07-13 Zack Weinberg <zack@wolery.cumb.org>
1744
1745 * lang-specs.h: Use the new named specs. Remove unnecessary braces.
1746
792abd35
MM
17472000-07-12 Mark Mitchell <mark@codesourcery.com>
1748
1749 * Makefile.in ($(PARSE_H)): Depend directly on parse.y.
1750 * parse.c: Remove.
1751 * parse.h: Likewise.
1752
72a50ab0
MM
17532000-07-11 Mark Mitchell <mark@codesourcery.com>
1754
1755 * class.c (layout_class_type): Add pointers to virtual bases after
1756 base classes under the old ABI.
1757
0dfdeca6
BC
17582000-07-10 Benjamin Chelf <chelf@codesourcery.com>
1759
1760 * semantics.c (finish_for_stmt): Remove call to emit_line_note.
1761 (finish_continue_stmt): Likewise.
1762 (begin_for_stmt): Remove call to note_level_for_for.
1763 (finish_goto_stmt): Change call from build_min_nt
1764 to build_stmt.
1765 (finish_expr_stmt): Likewise.
1766 (begin_if_stmt): Likewise.
1767 (begin_while_stmt): Likewise.
1768 (finish_while_stmt): Likewise.
1769 (finish_return_stmt): Likewise.
1770 (begin_for_stmt): Likewise.
1771 (finish_for_stmt): Likewise.
1772 (finish_break_stmt): Likewise.
1773 (begin_switch_stmt): Likewise.
1774 (finish_case_label): Likewise.
1775 (genrtl_try_block): Likewise.
1776 (begin_try_block): Likewise.
1777 (begin_handler): Likewise.
1778 (begin_compound_stmt): Likewise.
1779 (finish_asm_stmt): Likewise.
1780 (finish_label_stmt): Likewise.
1781 (add_decl_stmt): Likewise.
1782 (finish_subobject): Likewise.
1783 (finish_decl_cleanup): Likewise.
1784 (finish_named_return_value): Likewise.
1785 (setup_vtbl_ptr): Likewise.
1786 (add_scope_stmt): Likewise.
1787 * decl.c (finish_constructor_body): Likewise.
1788 (finish_destructor_body): Likewise.
1789 * optimize.c (copy_body_r): Likewise.
1790 (initialize_inlined_parameters): Likewise.
1791 (declare_return_variable): Likewise.
1792 (expand_call_inline): Likewise.
0e5921e8 1793
f12eef58
JJ
17942000-07-10 Jakub Jelinek <jakub@redhat.com>
1795
1796 * semantics.c (expand_body): Sync interface information
1797 at the end of function body expansion.
1798
2bb5d995
JM
17992000-07-09 Jason Merrill <jason@redhat.com>
1800
1801 * init.c (build_new_1): Bail early if the call to new fails.
1802
0e5921e8 1803 * decl.c (compute_array_index_type): Check specifically for
2bb5d995
JM
1804 an INTEGER_CST, not just TREE_CONSTANT.
1805
0e5921e8 1806 * decl.c (duplicate_decls): Don't call duplicate_decls on
2bb5d995
JM
1807 the DECL_TEMPLATE_RESULT.
1808 (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
1809 codes.
1810
1811 * error.c (dump_template_bindings): Don't crash if we had an
1812 invalid argument list.
1813
1814 * typeck.c (c_expand_start_case): Do narrowing here.
1815 * semantics.c (finish_switch_cond): Not here.
1816
18172000-07-09 Hidvegi Zoli <hzoli@austin.ibm.com>
1818
1819 * parse.y (asm_clobbers): Do string concatenation.
1820
089acd57
MM
18212000-07-09 Mark Mitchell <mark@codesourcery.com>
1822
1823 * decl.c (pushtag): Don't put local classes in template functions
1824 on the local_classes list.
1825
18262000-07-04 Scott Snyder <snyder@fnal.gov>
1827
1828 * decl2.c (get_guard): Add missing return for old ABI local
1829 variable case.
1830
7b019c19
MM
18312000-07-09 Mark Mitchell <mark@codesourcery.com>
1832
1833 * cp-tree.h (char_type_p): New function.
1834 * decl.c (init_decl_processing): Don't initialize
1835 signed_wchar_type_node or unsigned_wchar_type_node.
1836 (complete_array_type): Handle brace-enclosed string-constants.
1837 * rtti.c (emit_support_tinfos): Remove #if 0'd code.
1838 * tree.c (char_type_p): New function.
1839 * typeck2.c (digest_init): Use char_type_p.
1840
a5f1c5f8
NS
18412000-07-06 Nathan Sidwell <nathan@codesourcery.com>
1842
1843 * pt.c (tsubst): Don't layout type, if it's error_mark.
1844
84e5ca0f
NS
18452000-07-06 Nathan Sidwell <nathan@codesourcery.com>
1846
1847 * pt.c (instantiate_pending_templates): Reset template level.
1848
ab785305
JM
18492000-07-05 Jason Merrill <jason@redhat.com>
1850
1851 * call.c (joust): Don't complain about `operator char *()' beating
1852 `operator const char *() const'.
1853
90418208
JM
18542000-07-04 scott snyder <snyder@fnal.gov>
1855 Jason Merrill <jason@redhat.com>
1856
0e5921e8 1857 * repo.c (repo_get_id): Handle the case where a class with virtual
90418208
JM
1858 bases has a null TYPE_BINFO_VTABLE.
1859
18602000-07-04 Kevin Buhr <buhr@stat.wisc.edu>
1861 Jason Merrill <jason@redhat.com>
1862
1863 * parse.y (member_init): Just pass in the type.
1864 * init.c (expand_member_init): Handle getting a type.
1865
1866