OSDN Git Service

* cp/cp-tree.h (struct cp_language_function): Remove x_result_rtx.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 84954e7..e7fdace 100644 (file)
@@ -1,3 +1,633 @@
+2000-10-06  Richard Henderson  <rth@cygnus.com>
+
+       * cp-tree.h (struct cp_language_function): Remove x_result_rtx.
+       (original_result_rtx): Remove.
+       * decl.c (save_function_data): Don't clear x_result_rtx.
+       (mark_lang_function): Don't mark it either.
+       * expr.c (fixup_result_decl): Remove.
+       * semantics.c (genrtl_named_return_value): Frob the return decl
+       before calling emit_local_var.
+       (genrtl_finish_function): Don't call fixup_result_decl.
+       Always emit the jump to return_label.
+
+2000-10-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * pt.c (lookup_template_class): Set current access for enum.
+       (tsubst_enum): Set file & line for enum decl.
+       
+       * spew.c (yylex): Remove unused variable.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * semantics.c (genrtl_finish_function): Don't init or check
+       can_reach_end; remove noreturn and return value checks.
+
+2000-10-05  Tom Tromey  <tromey@cygnus.com>
+
+       * init.c (build_java_class_ref): Use `build_static_name' with a
+       suffix, not a prefix, to build the class object's name.
+
+2000-10-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (access_kind): Fix comment typo.
+       * decl2.c (grokfield): Fix diagnostic typo.
+       * semantics.c (finish_template_type): Fix comment typo.
+       (finish_qualified_object_call_expr): Likewise.
+
+2000-10-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * pt.c (tsubst_expr, DECL_STMT case): Don't process if
+       tsubsting fails.        
+
+2000-10-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * spew.c (frob_id): New static function.
+       (frob_opname): Use it.
+       (yylex): Use it.
+
+2000-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (lang_mark_false_label_stack): Remove.
+       * lex.c (cp_mang_lang_type): Use ggc_alloc_cleared.
+       
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gxxint.texi: Use @email for formatting email addresses.
+
+2000-09-29  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * error.c: Remove direct obstack manipulation.  Replace with
+       output_buffer-based formatting.  Adjust calls to removed macros.
+       (obstack_chunk_alloc, obstack_chunk_free): Remove.
+       (OB_INIT, OB_PUTC, OB_PUTC2, OB_PUTS, OB_PUTID, OB_PUTCP,
+       OB_FINISH, OB_PUTI, OB_END_TEMPLATE): Likewise.
+
+2000-09-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * ir.texi: Move to ../c-tree.texi.
+
+2000-09-20  Jason Merrill  <jason@redhat.com>
+
+       * decl2.c (get_guard): Check DECL_FUNCTION_SCOPE_P.
+
+2000-09-21  Andreas Jaeger  <aj@suse.de>
+
+       * errfn.c: Move declaration of cp_printer and cp_printers to ...
+       * cp-tree.h: ... here.
+
+       * error.c: Remove declaration of cp_printer.
+
+2000-09-20  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (mark_local_for_remap_r): Handle CASE_LABELs.
+
+2000-09-20  Hans-Peter Nilsson  <hp@axis.com>
+
+       * except.c: Delete #if 0:d EXCEPTION_SECTION_ASM_OP-default and
+       users.
+
+2000-09-18  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (start_function): Robustify.
+
+2000-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cp-tree.h (check_function_format): Accept a `status' parameter.
+
+       * call.c, typeck.c: Updates calls to `check_function_format'.
+
+2000-09-17  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * decl2.c (handle_class_head): Always push some scope even
+       in the error case.
+
+2000-09-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (struct cp_language_function): Remove
+       x_scope_stmt_stack and name_declared.
+       (current_scope_stmt_stack): Remove.
+       (function_name_declared_p): New macro.
+       (struct lang_decl_flags): Use c_lang_decl as a base class.
+       (context): Remove.
+       (struct lang_decl): Replace saved_tree with context.
+       (DECL_FRIEND_CONTEXT): Adjust accordingly.
+       (SET_DECL_FRIEND_CONTEXT): Likewise.
+       (DECL_VIRTUAL_CONTEXT): Likewise.
+       (DECL_SAVED_TREE): Remove.
+       (C_DECLARED_LABEL_FLAG): Likewise.
+       (cplus_expand_expr_stmt): Don't declare.
+       (add_decl_stmt): Likewise.
+       (add_scope_stmt): Likewise.
+       * decl.c (mark_stmt_tree): Remove.
+       (case_compare): Likewise.
+       (finish_case_label): Use c_add_case_label.
+       (init_decl_processing): Set more language-specific hooks.
+       (build_enumerator): Fix typo in comment.
+       (cplus_expand_expr_stmt): Remove.
+       (mark_lang_function): Use mark_c_language_function.
+       (lang_mark_tree): Use c_mark_lang_decl.
+       * decl2.c: Change order of inclusion.
+       * except.c: Likewise.
+       * expr.c (cplus_expand_expr): Remove handling of STMT_EXPR.  Fall
+       back on c_expand_expr.
+       * friend.c: Include expr.h.
+       * init.c: Change order of inclusion.
+       * Makefile.in: Update dependencies.
+       * lex.h (free_lang_decl_chain): Remove.
+       * optimize.c (maybe_clone_body): Use function_name_declared_p.
+       * pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
+       it doesn't exist.
+       (instantiate_decl): Use function_name_declared_p.
+       * semantics.c (lang_expand_expr_stmt): Remove.
+       (set_current_function_name_declared): Likewise.
+       (current_function_name_declared): Likewise.
+       (begin_compound_stmt): Use function_name_declared_p.
+       (add_decl_stmt): Remove.
+       (setup_vtbl_ptr): Use function_name_declared_p.
+       (add_scope_stmt): Remove.
+       (current_scope_stmt_stack): New function.
+       (cp_expand_stmt): Don't handle SCOPE_STMTs.
+       (expand_body): Use function_name_declared_p.
+       * tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
+       * typeck.c: Change order of includes.
+       (convert_sequence): Remove.
+
+2000-09-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * lex.c (reswords): Add _Complex.
+
+Thu Sep 14 12:10:45 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
+
+2000-09-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * init.c (begin_init_stmts): Don't use // comments.
+
+2000-09-12  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (maybe_deduce_size_from_array_init): Set do_default for
+       all non-extern arrays.
+
+       * decl.c (grokdeclarator): Complain about 'friend T' for implicit
+       typenames, too.  Downgrade complaint to pedwarn.
+       (xref_tag): Warn about surprising behavior of 'friend struct T'.
+       * decl2.c (handle_class_head): Generate a TYPENAME_TYPE for
+       'class This::Inherited'.
+
+2000-09-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (finish_case_label): Given the LABEL_DECL a
+       DECL_CONTEXT.
+
+2000-09-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * error.c (TFF_PLAIN_IDENTIFIER, TFF_NAMESPACE_SCOPE,
+       TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS, TFF_CHASE_TYPDEF,
+       TFF_DECL_SPECIFIERS, TFF_CLASS_KEY_OR_ENUM, TFF_RETURN_TYPE,
+       TFF_FUNCTION_DEFAULT_ARGUMENTS, TFF_EXCEPTION_SPECIFICATION,
+       TFF_TEMPLATE_HEADER, TFF_TEMPLATE_DEFAULT_ARGUMENTS, TFF_SCOPE):
+       New macros.
+       (sorry_for_unsupported_tree, print_scope_operator,
+       print_left_paren, print_right_paren, print_left_bracket,
+       print_right_bracket, print_whitespace): Likewise.
+       (aggr_variety): Rename to class_key_or_enum.
+       (print_type): Rename to print_type_id.
+       (print_type_specifier_seq, print_simple_type_specifier,
+       print_elaborated_type_specifier,
+       print_rest_of_abstract_declarator,
+       print_parameter_declaration_clause, print_exception_specification,
+       print_nested_name_specifier, print_template_id,
+       typedef_original_name,  print_template_argument_list_start,
+       print_template_argument_list_end): New functions.
+
+2000-09-11  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+        * ir.texi: Add more documentation.
+
+2000-09-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (struct saved_scope): Remove x_function_parms.
+       (current_function_parms): Don't define.
+       (struct cp_language_function): Remove parms_stored.
+       (current_function_just_assigned_this): Don't define.
+       (current_function_parms_stored): Likewise.
+       (static_ctors): Declare.
+       (static_dtors): Likewise.
+       (SF_EXPAND): Don't define.
+       (expand_start_early_try_stmts): Remove declaration.
+       (store_parm_decls): Likewise.
+       * decl.c (static_ctors): Don't declare.
+       (static_dtors): Likewise.
+       (struct binding_level): Remove this_block.
+       (poplevel): Remove dead code.
+       (set_block): Likewise.
+       (mark_binding_level): Don't mark this_block.
+       (mark_saved_scope): Don't mark x_function_parms.
+       (init_decl_processing): Don't add current_function_parms as a GC
+       root.
+       (check_function_type): Change prototype.
+       (start_function): Remove RTL-generation code.
+       (expand_start_early_try_stmts): Remove.
+       (store_parm_decls): Give it internal linkage.  Remove
+       RTL-generation code.
+       (finish_function): Remove RTL-generation code.
+       * decl2.c (static_ctors): Fix formatting.
+       (static_dtors): Likewise.
+       * method.c (use_thunk): Don't call store_parm_decls.
+       (synthesize_method): Likewise.
+       * optimize.c (maybe_clone_body): Likewise.
+       * parse.y (fn.def2): Likewise.
+       (.set_base_init): Likewise.
+       (nodecls): Likewise.
+       * pt.c (instantiate_decl): Likewise.
+       * rtti.c (synthesize_tinfo_fn): Likewise.
+       * semantics.c (genrtl_try_block): Simplify.
+       (expand_body): Use genrtl_start_function and
+       genrtl_finish_function.
+       (genrtl_start_function): New function.
+       (genrtl_finish_function): Likewise.
+
+2000-09-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * error.c (cp_tree_printer, case 'P'): Append break.
+
+2000-09-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (frob_opname): Declare.
+       * parse.y (saved_scopes): New static variable.
+       (cp_parse_init): Adjust.
+       (do_id): If lastiddecl is NULL, do do_identifier.
+       (operator): Save scope information.
+       (unoperator): new reduction. Restore scope information.
+       (operator_name): Append unoperator. Call frob_opname.
+       * spew.c (frob_opname): Define.
+
+2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * decl.c, rtti.c: Include defaults.h if not already included.
+       Don't define the *_TYPE_SIZE macros.
+
+2000-09-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (push_switch): Change prototype.
+       (check_cp_case_value): Remove declaration.
+       (decl_constant_value): Likewise.
+       * decl.c (struct cp_switch): Add switch_stmt and cases.
+       (case_compare): New function.
+       (push_switch): Set switch_stmt.  Initialize cases.
+       (pop_switch): Clean up cases.
+       (define_case_label): Rename to ...
+       (finish_case_label): ... this.  Do semantic analysis for case
+       labels here.
+       (start_function): Correct comment.
+       * decl2.c (check_cp_case_value): Remove.
+       * expr.c (do_case): Remove.
+       * pt.c (tsubst_expr): Adjust call to finish_case_label.
+       * semantics.c (genrtl_do_poplevel): Remove declaration.
+       (RECHAIN_STMTS): Remove.
+       (finish_break_stmt): Use build_break_stmt.
+       (finish_continue_stmt): Use build_continue_stmt.
+       (finish_switch_cond): Adjust condition here, rater than in
+       c_expand_start_case.
+       (finish_case_label): Remove.
+       * typeck.c (c_expand_return): Remove.
+       (c_expand_start_case): Likewise.
+
+2000-09-07  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * ir.texi: Document type nodes.
+
+2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (init_cp_semantics): Declare.
+       (genrtl_try_block): Don't declare.
+       (genrtl_handler): Likewise.
+       (genrtl_catch_block): Likewise.
+       (genrtl_ctor_stmt): Likewise.
+       (genrtl_subobject): Likewise.
+       (genrtl_do_poplevel): Likewise.
+       (genrtl_named_return_value): Likewise.
+       * lex.c (init_parse): Call init_cp_semantics.
+       * semantics.c (genrtl_try_block): Give it internal linkage.
+       (genrtl_handler): Likewise.
+       (genrtl_catch_block): Likewise.
+       (genrtl_ctor_stmt): Likewise.
+       (genrtl_subobject): Likewise.
+       (genrtl_do_poplevel): Likewise.
+       (genrtl_named_return_value): Likewise.
+       (lang_expand_stmt): Rename to ...
+       (cp_expand_stmt): ... this.  Only handle C++-specific nodes.
+       (init_cp_semantics): Define.
+
+       * decl.c (initialize_local_var): Remove RTL-generating code.
+       * semantics.c (genrtl_try_block): Fix formatting.
+
+       Move statement-tree facilities from C++ to C front-end.
+       * cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
+       (void_zero_node): Remove.
+       (stmt_tree): Likewise.
+       (scope_chain): Adjust.
+       (language_function): Rename to cp_language_function.
+       (cp_function_chain): Adjust.
+       (current_stmt_tree): Remove.
+       (last_tree): Likewise.
+       (last_expr_type): Likewise.
+       (struct lang_decl): Adjust.
+       (STMT_IS_FULL_EXPR_P): Remove.
+       (add_tree): Remove.
+       (begin_stmt_tree): Likewise.
+       (finish_stmt_tree): Likewise.
+       (walk_tree_fn): Likewise.
+       (walk_stmt_tree): Likewise.
+       * class.c (finish_struct): Replace use of add_tree with add_stmt.
+       * decl.c (mark_stmt_tree): Adjust type.
+       (init_decl_processing): Don't build void_zero_node.
+       (initialize_local_var): Adjust usage of current_stmt_tree.
+       (finish_enum): Use add_stmt, not add_tree.
+       (save_function_data): Adjust use of language_function.
+       (finish_constructor_body): Use add_stmt, not add_tree.
+       (finish_destructor_body): Likewise.
+       (push_cp_function_context): Adjust use of language_function.
+       (pop_cp_function_context): Likewise.
+       (mark_lang_function): Likewise.
+       (mark_cp_function_context): Likewise.
+       * init.c (build_aggr_init): Adjust use of current_stmt_tree.
+       (build_vec_init): Likewise.
+       * semantics.c (SET_LAST_STMT): Remove.
+       (RECHAIN_STMTS): Don't use it.
+       (stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
+       (current_stmt_tree): Define.
+       (add_tree): Remove.
+       (finish_goto_stmt): Use add_stmt, not add_tree.
+       (finish_expr_stmt): Likewise.
+       (begin_if_stmt): Likewise.
+       (finish_then_clause): Likewise.
+       (begin_while_stmt): Likewise.
+       (begin_do_stmt): Likewise.
+       (finish_return_stmt): Likewise.
+       (begin_for_stmt): Likewise.
+       (finish_break_stmt): Likewise.
+       (finish_continue_stmt): Likewise.
+       (begin_switch_stmt): Likewise.
+       (finish_case_label): Likewise.
+       (begin_try_block): Likewise.
+       (begin_function_try_block): Likewise.
+       (begin_handler): Likewise.
+       (begin_catch_block): Likewise.
+       (begin_compound_stmt): Likewise.
+       (begin_asm_stmt): Likewise.
+       (finish_asm_stmt): Likewise.
+       (finish_label_stmt): Likewise.
+       (add_decl_stmt): Likewise.
+       (finish_subobject): Likewise.
+       (finish_decl_cleanup): Likewise.
+       (finish_named_return_value): Likewise.
+       (setup_vtbl_ptr): Likewise.
+       (add_scope_stmt): Likewise.
+       (finish_stmt_expr): Likewise.
+       (prune_unused_decls): Remove.
+       (begin_stmt_tree): Likewise.
+       (finish_stmt_tree): Likewise.
+       (prep_stmt): Adjust use of current_stmt_tree.
+       (lang_expand_stmt): Likewise.
+       * tree.c (statement_code_p): Remove.
+       (cp_statement_code_p): New function.
+       (walk_stmt_tree): Remove.
+       (init_tree): Set lang_statement_code_p.
+
+2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       Integrated preprocessor.
+
+       * Make-lang.in, Makefile.in: Remove all references to input.c,
+       gxx.gperf, and hash.h.  Add ../c-lex.o to C_OBJS.
+       * gxx.gperf, hash.h, input.c: Delete.
+       * lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
+       initialized properly.
+
+       * class.c (fixup_pending_inline): Take a tree, not a
+       struct pending_inline *.  All callers changed.
+       (init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
+       RID_PROTECTED entries in ridpointers[] array here.
+       * decl.c (duplicate_decls): Do not refer to struct
+       pending_inline.
+       (record_builtin_type, init_decl_processing): Use RID_MAX not
+       CP_RID_MAX.
+       (grokdeclarator): Use C_IS_RESERVED_WORD.
+       * decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
+       cpplib.
+       (grok_x_components): Do not inspect pending_inlines chain.
+
+       * cp-tree.h (struct lang_identifier): Add rid_code entry.
+       (C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
+       (flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
+       (DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
+       TIME_IDENTIFIER_FILEINFO): Kill.
+       Update prototypes.
+       * lex.h: Expunge cp_rid.  Rewrite RIDBIT macros to use just a
+       single 32-bit word.
+       * parse.y: Call do_pending_inlines unconditionally.
+       reinit_parse_for_method is now snarf_method.  fn.defpen is no
+       longer necessary.  Remove unnecessary <itype> annotation on
+       SCOPE.  Do not refer to end_of_file or struct pending_inline.
+       * semantics.c (begin_inline_definitions): Call
+       do_pending_inlines unconditionally.
+
+       * lex.c: Remove all code now shared with C front end.
+       Initialize cpplib properly if USE_CPPLIB.  Put reserved words
+       into the get_identifier table.  Rewrite pragma handling to
+       work with the registry.  Move code to save tokens for later
+       processing to spew.c.
+
+       * spew.c: Rewrite everything in terms of token streams instead
+       of text.  Move routines here from lex.c / input.c as
+       appropriate.  GC-mark trees hanging off the pending inlines
+       chain.
+
+2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * NEWS: Mention that the named return value extension has been
+       deprecated.
+       * cp-tree.h (original_result_rtx): Define.
+       (TREE_REFERENCE_EXPR): Remove.
+       (DECL_VPARENT): Likewise.
+       (pushdecl_nonclass_level): Likewise.
+       (store_return_init): Likewise.
+       (reinit_lang_specific): Likewise.
+       (genrtl_named_return_value): Change prototype.
+       * decl.c (original_result_rtx): Remove.
+       (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
+       Do not generate RTL for local variables here.
+       (store_return_init): Remove.
+       * semantics.c (genrtl_named_return_value): Simplify.  Fold in
+       store_return_init.
+       (finish_named_return_value): Adjust accordingly.  Warn that this
+       extension is deprecated.
+       (lang_expand_stmt): Adjust call to genrtl_named_return_value.
+
+2000-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * pt.c (type_unification_real): Replace switch with if.
+       (unify): Tsubst non-type parms before comparing.
+
+2000-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * error.c (dump_typename): New function, broken out of ...
+       (dump_type): ... here. Use it.
+       * typeck.c (same_type_p): Use cp_tree_equal for TYPENAME_TYPE.
+
+2000-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * init.c (build_offset_ref): Deal with namespace scoped
+       TEMPLATE_ID_EXPRs.
+
+2000-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * class.c (resolve_address_of_overloaded_function): Add
+       explanation message.
+       * decl.c (define_case_label): Reformat explanation.
+       * decl2.c (finish_static_data_member_decl): Likewise.
+       (grokfield): Likewise.
+       * friend.c (do_friend): Likewise.
+
+2000-09-05  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tree.c (walk_tree): Expose tail recursion.
+       (walk_stmt_tree): New function.
+       * cp-tree.h: Prototype walk_stmt_tree.
+       * semantics.c (prune_unused_decls): Operate on SCOPE_STMTs not
+       the BLOCKs directly.  If a BLOCK has no variables after
+       pruning, discard it.
+       (finish_stmt_tree): Use walk_stmt_tree.  No need to save and
+       restore the line number.
+
+2000-09-05  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (CXX_TREE_H): Add dependency on HTAB_H.
+       (pt.o): Remove dependency on HTAB_H.
+       * cp-tree.h: Include hashtab.h.
+       (walk_tree): Change prototype.
+       (walk_tree_without_duplicates): New function.
+       * decl.c (check_default_argument): Use it.
+       * optimize.c (remap_decl): Adjust calls to walk_tree.
+       (copy_body): Likewise.
+       (expand_calls_inline): Likewise.
+       (calls_setjmp_p): Use walk_tree_without_duplicates.
+       * pt.c: Don't include hashtab.h.
+       (for_each_template_parm): Use walk_tree_without_duplicates.
+       * semantics.c (finish-stmt_tree): Likewise.
+       (expand_body): Likewise.
+       * tree.c (walk_tree): Add additional parameter.
+       (walk_tree_without_duplicates): New function.
+       (count_trees): Use it.
+       (verify_stmt_tree): Adjust call to walk_tree.
+       (find_tree): Use walk_tree_without_duplicates.
+       (no_linkage_check): Likewise.
+       (break_out_target_exprs): Adjust call to walk_tree.
+       (cp_unsave): Likewise.
+
+2000-09-04  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * cp-tree.def (BOUND_TEMPLATE_TEMPLATE_PARM): New tree code.
+       (TEMPLATE_TEMPLATE_PARM): Adjust comment.
+       * cp-tree.h (TYPE_BINFO): Adjust comment.
+       (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
+       (TEMPLATE_TYPE_PARM_INDEX): Likewise.
+       (IS_AGGR_TYPE): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
+       (TYPE_TEMPLATE_INFO): Likewise.
+       (TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL): Likewise.
+       * class.c (push_nested_class): Likewise.
+       * decl.c (lookup_name_real): Likewise.
+       (grokdeclarator): Likewise.
+       (grok_op_properties): Likewise.
+       (xref_tag): Likewise.
+       (xref_basetypes): Likewise.
+       * decl2.c (constructor_name_full): Likewise.
+       (arg_assoc_template_arg): Add TEMPLATE_TEMPLATE_PARM case.
+       (arg_assoc_type): Use BOUND_TEMPLATE_TEMPLATE_PARM instead.
+       * error.c (dump_type): Split TEMPLATE_TEMPLATE_PARM case.
+       (dump_type_prefix): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       (dump_type_suffix): Likewise.
+       * init.c (is_aggr_type): Use BOUND_TEMPLATE_TEMPLATE_PARM
+       instead.
+       (get_aggr_from_typedef): Likewise.
+       * mangle.c (write_type): Split TEMPLATE_TEMPLATE_PARM case.
+       (write_expression): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       (write_template_parm): Likewise.
+       (write_template_template_parm): Check tree code instead of
+       using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+       * method.c (build_overload_nested_name): Add
+       BOUND_TEMPLATE_TEMPLATE_PARM.
+       (process_overload_item): Split TEMPLATE_TEMPLATE_PARM case.
+       * parse.y (bad_parm): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       * pt.c (convert_template_argument): Check tree code instead of
+       using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+       (for_each_template_parm_r): Split TEMPLATE_TEMPLATE_PARM case.
+       (for_each_template_parm): Adjust comment.
+       (tsubst): Add BOUND_TEMPLATE_TEMPLATE_PARM.  Reorganize.
+       (tsubst_copy): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       (unify): Add BOUND_TEMPLATE_TEMPLATE_PARM.  Reorganize.  Use
+       template_args_equal to compare template template parameter cases.
+       * ptree.c (print_lang_type): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       * search.c (lookup_field_1): Use BOUND_TEMPLATE_TEMPLATE_PARM
+       instead.
+       * tree.c (copy_template_template_parm): Decide whether to create
+       a TEMPLATE_TEMPLATE_PARM or BOUND_TEMPLATE_TEMPLATE_PARM node.
+       (walk_tree): Add BOUND_TEMPLATE_TEMPLATE_PARM.
+       (copy_tree_r): Likewise.
+       * typeck.c (comptypes): Likewise.  Check tree code instead of
+       using TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
+
+2000-09-04  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * decl.c (finish_function): Move the code for handling functions
+       marked with the constructor and destructor attributes inside the
+       expand_p block.
+
+2000-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
+
+2000-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * pt.c (lookup_template_class): Remove abort.
+       * tree.c (get_type_decl): Allow error_mark_node.
+
+2000-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * decl2.c (arg_assoc): Deal with COMPONENT_REFs inside
+       TEMPLATE_ID_EXPRs.
+
+2000-09-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * operators.def (ALIGNOF_EXPR, MAX_EXPR, MIN_EXPR): Change
+       new ABI mangling.
+
+2000-09-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * parse.y (named_class_head): Check for TYPENAME_TYPE. Simplify
+       union tag mismatch error reporting.
+
+2000-09-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * call.c (build_scoped_method_call): Check it is not a namespace.
+
+2000-08-30  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (LOCAL_CLASS_P): Use decl_function_context.
+
+       * tree.c (bot_manip): Check TREE_CONSTANT rather than
+       !TREE_SIDE_EFFECTS.  Call break_out_target_exprs and
+       build_target_expr_with_type for the non-AGGR_INIT_EXPR case.
+
+       * decl.c (start_function): Always call make_function_rtl.
+
+2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * semantics.c (prune_unused_decls): New function.
+       (finish_stmt_tree): Call it via walk_tree.
+
 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
 
        * class.c (build_secondary_vtable): Constify a char *.
        (write_component): Remove.
        (write_local_name): Add parameter.  Use direct local entity to
        discriminator calculation.
-       (write_class_enum_type): Pass another argument to write_name.   
+       (write_class_enum_type): Pass another argument to write_name.
        (write_template_template_arg): Likewise.
        (make_guard_variable): Likewise.
-       
+
 2000-08-27  Jason Merrill  <jason@redhat.com>
 
        * decl.c (pushdecl): Matching decls for local externs are found in
        (cp_tree_printer, print_function_argument_list, print_declaration,
        print_expression, print_function_declaration,
        print_function_parameter, print_type, print_cv_qualifier): New
-       functions. 
+       functions.
        (init_error): Initialize lang_printer.
 
 2000-08-24  Jason Merrill  <jason@redhat.com>
        (write_type): Adjust call to write_function_type.
        * pt.c (instantiate_template): Instantiate alternate entry points
        when instantiating the main function.
-       
+
 2000-08-23  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * error.c (cp_print_error_function): Don't use embedded '\n' in
-       output_printf. 
+       output_printf.
 
 2000-08-23  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * decl.c (init_decl_processing): Remove bogus initialization.
        * error.c (lang_print_error_function): Restore here.
-       (init_error): Initialize print_error_function. 
-       
+       (init_error): Initialize print_error_function.
+
 2000-08-22  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
 
        * decl2.c (arg_assoc): Revert my 2000-08-11 change.
        (print_template_context): Likewise.
        (current_tinst_level): Make static to reflect Brendan Kehoe's
        change of 1995-04-13.
-       (push_tinst_level): Call print_instantiation_context. 
-       
+       (push_tinst_level): Call print_instantiation_context.
+
 2000-08-21  Nix  <nix@esperi.demon.co.uk>
-        
+
        * lang-specs.h: Do not process -o or run the assembler if
        -fsyntax-only.
 
        * decl.c (member_function_or_else): Use cp_error ... %T.
        (grokdeclarator): Likewise.
        (start_method): Likewise.
-       * friend.c (make_friend_class): Use cp_pedwarn ... %T.  
+       * friend.c (make_friend_class): Use cp_pedwarn ... %T.
 
 2000-08-18  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
-       TYPE_DECLs.     
+       TYPE_DECLs.
 
 2000-08-18  Nathan Sidwell  <nathan@codesourcery.com>
 
 
        * class.c (instantiate_type): Reinstate local variable
        deleted in previous change.
-       
+
        * cvt.c (cp_convert_to_pointer): Pass itf_complain, not
        itf_no_attributes.
 
        (cp_parse_init): Adjust.
        (structsp): Clear and restore current_aggr.
        (component_decl_list): Clear current_aggr.
-       
+
        * error.c (dump_type, case TYPENAME_TYPE): Don't emit the
        aggregate tag on the typename's context.
-       
+
        * pt.c (tsubst_friend_class): Return error_mark_node, if
        parms becomes NULL.
        (instantiate_class_template): Ignore error_mark_node friend types.
 2000-08-14  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cvt.c (warn_ref_binding): New static function, broken out of ...
-       (convert_to_reference): ... here. Use it.       
+       (convert_to_reference): ... here. Use it.
 
 2000-08-11  Kriang Lerdsuwanakij <lerdsuwa@scf-fs.usc.edu>
 
 
        * cp-tree.h (resolve_scope_to_name): Remove unused prototype.
        (lookup_nested_tag): Likewise.
-       
+
        * decl2.c (grokfield): Fix comment to reflect many types of _DECLs
        can be produced.
 
        * rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi
        runtime.
        * cp/tinfo.cc (__dynamic_cast): Likewise.
-       * cp/inc/cxxabi.h (__dynamic_cast): Likewise.   
+       * cp/inc/cxxabi.h (__dynamic_cast): Likewise.
 
 2000-08-09  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cvt.c (convert_to_pointer_force): Fix error message when
-       attempting to cast from ambiguous base. 
+       attempting to cast from ambiguous base.
 
 2000-08-08  Jason Merrill  <jason@redhat.com>
 
 
 2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
 
-        * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
-        * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
-        (cc1plus): Link with $(BACKEND) and $(C_OBJS).
+       * Make-lang.in (cc1plus): Depend on $(BACKEND), not stamp-objlist.
+       * Makefile.in: Add C_OBJS, BACKEND; delete OBJS, OBJDEPS.
+       (cc1plus): Link with $(BACKEND) and $(C_OBJS).
 
 2000-08-04  Mark Mitchell  <mark@codesourcery.com>
 
        (clone_function_decl): Likewise.
        * decl2.c (check_classfn): Likewise.
        * semantics.c (finish_member_declaration): Likewise.
-       
+
 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * decl.c (flag_isoc94): New variable.
        (binfo_for_vtable): Simplify.
        * tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
        (make_binfo): Make it have 11 entries.
-       
+
 2000-07-30  Alex Samuel  <samuel@codesourcery.com>
 
        * mangle.c (DECL_TEMPLATE_ID_P): Remove.
@@ -622,7 +1252,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
 
        * decl2.c (finish_decl_parsing): Handle TEMPLATE_ID_EXPR.
 
-       * decl.c (pushdecl): Handle seeing an OVERLOAD in 
+       * decl.c (pushdecl): Handle seeing an OVERLOAD in
        IDENTIFIER_NAMESPACE_VALUE.
 
 2000-07-16  Mark Mitchell  <mark@codesourcery.com>
@@ -688,7 +1318,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
        (initialize_inlined_parameters): Likewise.
        (declare_return_variable): Likewise.
        (expand_call_inline): Likewise.
-       
+
 2000-07-10  Jakub Jelinek  <jakub@redhat.com>
 
        * semantics.c (expand_body): Sync interface information
@@ -698,10 +1328,10 @@ Wed Jul 26 15:05:51 CEST 2000    Marc Espie <espie@cvs.openbsd.org>
 
        * init.c (build_new_1): Bail early if the call to new fails.
 
-       * decl.c (compute_array_index_type): Check specifically for 
+       * decl.c (compute_array_index_type): Check specifically for
        an INTEGER_CST, not just TREE_CONSTANT.
 
-       * decl.c (duplicate_decls): Don't call duplicate_decls on 
+       * decl.c (duplicate_decls): Don't call duplicate_decls on
        the DECL_TEMPLATE_RESULT.
        (decls_match): Return 0 if the DECL_TEMPLATE_RESULTs have different
        codes.
@@ -752,7 +1382,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
 2000-07-04  scott snyder  <snyder@fnal.gov>
            Jason Merrill  <jason@redhat.com>
 
-       * repo.c (repo_get_id): Handle the case where a class with virtual 
+       * repo.c (repo_get_id): Handle the case where a class with virtual
        bases has a null TYPE_BINFO_VTABLE.
 
 2000-07-04  Kevin Buhr  <buhr@stat.wisc.edu>
@@ -805,7 +1435,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
 
        * semantics.c (lang_expand_stmt): Changed call to
        genrtl_compound_stmt to ignore return value.
-       
+
 2000-07-02  Mark Mitchell  <mark@codesourcery.com>
 
        * mangle.c (canonicalize_for_substitution): Return the canonical
@@ -817,14 +1447,14 @@ Wed Jul 26 15:05:51 CEST 2000    Marc Espie <espie@cvs.openbsd.org>
 
 2000-07-01  Benjamin Chelf  <chelf@codesourcery.com>
 
-        * Make-lang.in (cc1plus$(exeext)): Added c-semantics.o.
-       
+       * Make-lang.in (cc1plus$(exeext)): Added c-semantics.o.
+
        * Makefile.in (OBJS): Added ../c-semantics.o.
        (OBJDEPS): Likewise.
-       
+
        * cp-tree.h (TREE_LANG_FLAG_?): Moved common documentation to
        ../c-common.h.
-       (struct stmt_tree): Added comment. 
+       (struct stmt_tree): Added comment.
        (current_function_name_declared): Removed.
        (stmts_are_full_exprs_p): Likewise.
        (genrtl_do_pushlevel): Likewise.
@@ -849,10 +1479,10 @@ Wed Jul 26 15:05:51 CEST 2000    Marc Espie <espie@cvs.openbsd.org>
        (push_cp_function_context): Likewise.
 
        * expect.c (expand_throw): Change reference to
-       stmts_are_full_exprs_p. 
+       stmts_are_full_exprs_p.
 
        * init.c (build_aggr_init): Change reference to
-       stmts_are_full_exprs_p. 
+       stmts_are_full_exprs_p.
        (build_vec_init): Likewise.
 
        * optimize.c (maybe_clone_body): Change reference to
@@ -886,7 +1516,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
        (genrtl_decl_cleanup): Likewise.
        (expand_cond): Likewise.
        (expand_stmt): Renamed to ...
-       (lang_expand_stmt): ... this. 
+       (lang_expand_stmt): ... this.
        (lang_expand_expr_stmt): Initialize.
        (set_current_function_name_declared): Likewise.
        (stmts_are_full_exprs_p): Likewise.
@@ -906,7 +1536,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
        current_function_name_declared().
        (setup_vtbl_ptr): Likewise.
        (genrtl_do_poplevel): Removed.
-       
+
 2000-06-30  Jason Merrill  <jason@redhat.com>
 
        * init.c (init_init_processing): Go back to aligning like
@@ -960,7 +1590,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
        * parse.y: Move inclusion of lex.h.
        * parse.c: Regenerated.
        * spew.c: Move inclusion of lex.h.
-       
+
        * cp-tree.h (struct language_function): Remove temp_name_counter.
        (temp_name_counter): Remove.
        (get_temp_name): Change prototype.
@@ -981,7 +1611,7 @@ Wed Jul 26 15:05:51 CEST 2000      Marc Espie <espie@cvs.openbsd.org>
        (do_static_initialization): Replace sentry with guard throughout.
        (do_static_destruction): Likewise.
        * init.c (create_temporary_var): Add comment.
-       
+
 2000-06-28  Alex Samuel  <samuel@codesourcery.com>
 
        * mangle.c (find_substitution): Use same_type_p.
@@ -1032,7 +1662,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        (build_modify_expr): Likewise.
        (get_delta_difference): Likewise.
        (build_ptrmemfunc): Likewise.
-       
+
 2000-06-29  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cp-tree.h (SET_DECL_ARTIFICIAL): Remove.
@@ -1067,7 +1697,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
 
        * pt.c (tsubst, case TEMPLATE_TEMPLATE_PARM): Handle cv-qualified
        types correctly.
-       
+
 2000-06-27  Mark Mitchell  <mark@codesourcery.com>
 
        * decl.c (grokfndecl): Set DECL_CONTEXT for static functions too.
@@ -1100,7 +1730,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
 
 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
-        * search.c (lookup_member): Fix typo in comment.
+       * search.c (lookup_member): Fix typo in comment.
 
 2000-06-24  Jason Merrill  <jason@redhat.com>
 
@@ -1211,7 +1841,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        * decl.c (pushdecl): Also pull out one of the FUNCTION_DECLs from
        an old OVERLOAD when we're declaring a non-function.
        (pushdecl, destroy_local_var): Check for error_mark_node.
-       (warn_extern_redeclared_static): Also bail early if 
+       (warn_extern_redeclared_static): Also bail early if
        we're a CONST_DECL.
        (push_overloaded_decl): Ignore an old error_mark_node.
 
@@ -1228,7 +1858,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
 
 2000-06-20  Jason Merrill  <jason@redhat.com>
 
-       * pt.c (tsubst_decl, case TYPE_DECL): Fix test for TYPE_DECLs 
+       * pt.c (tsubst_decl, case TYPE_DECL): Fix test for TYPE_DECLs
        for which we don't need to look for instantiations.
 
 2000-06-21  Nathan Sidwell  <nathan@codesourcery.com>
@@ -1264,7 +1894,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        (build_x_compound_expr): Likewise.
        (check_return_expr): Likewise.
        * typeck2.c (add_exception_specifier): Likewise.
-       
+
        * mangle.c (write_method_parms): Use direct comparison for end
        of parmlist.
 
@@ -1331,7 +1961,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        (genrtl_named_return_value): Likewise.
        (genrtl_begin_stmt_expr): Likewise.
        (genrtl_finish_stmt_expr): Likewise.
-       (finish_for_stmt): Removed first argument and generate rtl 
+       (finish_for_stmt): Removed first argument and generate rtl
        specific code.
        (finish_switch_stmt): Likewise.
        (do_poplevel): Removed generate rtl specific code.
@@ -1384,7 +2014,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        (finish_named_return_value): Likewise.
        (begin_stmt_expr): Likewise.
        (finish_stmt_expr): Likewise.
-       
+
        * decl.c (initialize_local_var): Changed call to finish_expr_stmt
        to call genrtl_expr_stmt when appropriate.
 
@@ -1398,16 +2028,16 @@ Wed Jul 26 15:05:51 CEST 2000   Marc Espie <espie@cvs.openbsd.org>
        genrtl_expr_stmt when appropriate.
        (build_vec_init): Likewise.
 
-       * parse.y (simple_stmt): Removed first argument from call to 
-       finish_for_stmt. Removed first argument from call to 
+       * parse.y (simple_stmt): Removed first argument from call to
+       finish_for_stmt. Removed first argument from call to
        finish_switch_stmt.
 
        * parse.c: Regenerated.
 
-       * pt.c (tsubst_expr): Removed first argument from call to 
-       finish_for_stmt. Removed first argument from call to 
+       * pt.c (tsubst_expr): Removed first argument from call to
+       finish_for_stmt. Removed first argument from call to
        finish_switch_stmt.
-       
+
 2000-06-16  Benjamin Chelf  <chelf@codesourcery.com>
 
        * cp-tree.h (enum cplus_tree_code): Changed __DUMMY to
@@ -1416,9 +2046,9 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        * lex.c (cplus_tree_code_type[]): Removed #include "c-common.def".
        (cplus_tree_code_length[]): Likewise.
        (cplus_tree_code_name[]): Likewise.
-       (init_parse): Added call to add_c_tree_codes. Changed 
+       (init_parse): Added call to add_c_tree_codes. Changed
        LAST_AND_UNUSED_TREE_CODE to LAST_C_TREE_CODE.
-       
+
 2000-06-16  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (finish_mem_initializers): Declare.
@@ -1430,7 +2060,7 @@ Wed Jul 26 15:05:51 CEST 2000     Marc Espie <espie@cvs.openbsd.org>
        the number of trees.
        (n_trees): Remove.
        (count_trees): Don't use it.
-       
+
 2000-06-15  Jason Merrill  <jason@redhat.com>
 
        * tree.c (count_trees): New debugging function.
@@ -1482,12 +2112,12 @@ Wed Jul 26 15:05:51 CEST 2000   Marc Espie <espie@cvs.openbsd.org>
        * semantics.c (setup_vtbl_ptr): Don't use current_member_init_list
        and current_base_init_list.
        (begin_function_definition): Don't call reinit_parse_for_function.
-       
+
        * dump.c (dequeue_and_dump): Use TREE_VEC_LENGTH with vectors.
 
        * error.c (dump_expr): Handle ADDR_EXPRs with REFERENCE_TYPE
        correctly.
-       
+
        * cp-tree.h (DECL_PENDING_INLINE_P): Relax checking.
 
 2000-06-14  Benjamin Chelf  <chelf@codesourcery.com>
@@ -1539,11 +2169,11 @@ Wed Jul 26 15:05:51 CEST 2000   Marc Espie <espie@cvs.openbsd.org>
 
        * Make-lang.in (CXX_SRCS): Added $(srcdir)/c-common.def.
        (cc1plus$(exeext)): Added $(srcdir)/c-common.def.
-       
+
        * lex.c (cplus_tree_code_type[]): Added '#include "c-common.def"'.
        (cplus_tree_code_length[]): Added '#include "c-common.def"'.
        (cplus_tree_code_name[]): Added '#include "c-common.def"'.
-       
+
 2000-06-14  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
@@ -1594,7 +2224,7 @@ Tue Jun 13 15:48:03 2000  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
        used to initialize the parameters more than once.
 
 2000-06-11  Mark Mitchell <mark@codesourcery.com>
-       
+
        * mangle.c (NESTED_TEMPLATE_MATCH): Fix typo in comment.
        (is_std_substitution): Don't check CLASSTYPE_USE_TEMPLATE here.
        (find_substitution): Only use the `Sa' substitution for
@@ -1613,7 +2243,7 @@ Tue Jun 13 15:48:03 2000  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
        * class.c (build_vtable): Clarify comment.
        (build_ctor_vtbl_group): Pass the most derived type to
        build_vtable.
-       
+
 2000-06-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * decl2.c (compare_options): Don't needlessly cast away const-ness.
@@ -1689,7 +2319,7 @@ Tue Jun 13 15:48:03 2000  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
 
        * decl2.c: Remove #inclusion of diagnostic.h
        (lang_decode_option): Move diagnostic formatting options to
-       toplevel. 
+       toplevel.
 
        * lang-options.h: Remove documentation for diagnostic options.
 
@@ -1795,7 +2425,7 @@ Mon Jun  5 06:48:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (grokvardecl): Call mangle_decl for new ABI.  Only set mangled
        name for fully-instantiated templates.
        * decl2.c (grokclassfn): Use set_mangled_name_for_decl for
-       destructors with the new ABI.   
+       destructors with the new ABI.
        (finish_static_data_member_decl): Use mangle_decl under the new ABI.
        (grokfield): Use mangle_type for new ABI.
        (grokoptypename): Use mangle_conv_op_for_type for new ABI.
@@ -1831,7 +2461,7 @@ Mon Jun  5 06:48:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (get_tinfo_decl): Call mangle_typeinfo_for_type for new ABI.
        (tinfo_base_init):  Likewise.  Mangle typeinfo string name with
        mangle_typeinfo_string_for_type.
-       
+
 2000-06-03  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (TMPL_ARGS_LEVEL): Clarify comment.
@@ -1866,7 +2496,7 @@ Mon Jun  5 06:48:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (regenerate_decl_from_template): Tweak formatting.  Use
        TMPL_ARGS_DEPTH for clarity.
        (set_mangled_name_for_template_decl): Use INNERMOST_ARGS.
-       
+
        * dump.c (dequeue_and_dump): Dump information about thunks.
 
 2000-06-01  Richard Henderson  <rth@cygnus.com>
@@ -1911,7 +2541,7 @@ Wed May 31 14:09:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (unsupported_options): New variable
        (compare_options): New function.
        (lang_decode_option): Use them.
-       
+
        * decl.c (build_cp_library_fn): Set DECL_CONTEXT.
 
        * method.c (mangle_expression): Adjust test for legal expression
@@ -1932,7 +2562,7 @@ Wed May 31 14:09:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (build_new_method_call): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.
 
        * ir.texi: Update thunk documentation.
-       
+
        * call.c (joust): Fix handling of overloaded builtin operators.
 
 2000-05-30  Zack Weinberg  <zack@wolery.cumb.org>
@@ -1943,7 +2573,7 @@ Wed May 31 14:09:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        in the user namespace.
        * lex.c (do_identifier): If the identifier's declaration has
        DECL_ANTICIPATED on, it has not yet been declared.  But do not
-       replace it with an ordinary implicit declaration.             
+       replace it with an ordinary implicit declaration.
 
        * tinfo2.cc: Include stdlib.h.
 
@@ -2080,7 +2710,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (mark_lang_function): Call it.
        (use_label): New fn, split out from...
        (make_label_decl): ...here.  Don't call it.
-       (decl_jump_unsafe, check_previous_goto, check_previous_goto_1, 
+       (decl_jump_unsafe, check_previous_goto, check_previous_goto_1,
        check_previous_gotos): New fns, split out from...
        (define_label): ...here.
        (check_switch_goto): New fn.
@@ -2109,7 +2739,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (ptm_initializer): ... here.
        (sythesize_tinfo_var): Adjust. Deal with pointer to member
        function.
-       (create_tinfo_types): Adjust.   
+       (create_tinfo_types): Adjust.
 
 2000-05-25  Mark Mitchell  <mark@codesourcery.com>
 
@@ -2160,7 +2790,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (expand_indirect_vtbls_init): Remove.
        * semantics.c (setup_vtbl_ptr): Fix typos in comment.
        * tree.c (make_binfo): Make them bigger.
-       
+
 2000-05-25  Nathan Sidwell  <nathan@codesourcery.com>
 
        * inc/cxxabi.h (__pbase_type_info): Define, based on
@@ -2205,7 +2835,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        values to indicate the kind of destruction to be done.
        (build_vbase_delete): Likewise.
        (build_vec_delete): Likewise.
-       
+
        * init.c (sort_member_init): Fix typo in error message generation
        code.
 
@@ -2260,7 +2890,7 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        * ptree.c (print_lang_decl): Adjust.
        * typeck.c (build_component_ref): Don't check DECL_LANG_SPECIFIC
        before checking DECL_MUTABLE_P.
-       
+
        * decl2.c (maybe_retrofit_in_chrg): Don't create in-charge
        parameters for template functions.
        * pt.c (tsubst_decl): Make sure we call maybe_retrofit_in_chrg for
@@ -2291,7 +2921,7 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        (tsubst_copy): Adjust use of IDENTIFIER_TYPENAME_P.
        * semantics.c (finish_member_declaration): Don't mark members of
        classes declared in an extern "C" region as extern "C".
-       
+
 2000-05-22  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * decl2.c (qualified_lookup_using_namespace): Look through
@@ -2330,7 +2960,7 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        (get_ctor_vtbl_name): New function.
        * search.c (dfs_walk_real): Use BINFO_N_BASETYPES.
        (init_vbase_pointers): Don't mess with the TREE_CHAIN of a binfo.
-       
+
        * cp-tree.h (struct lang_type): Remove search_slot.
        (CLASSTYPE_SEARCH_SLOT): Remove.
        (emit_base_init): Change prototype.
@@ -2415,7 +3045,7 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        (find_vbase_instance): Use binfo_for_vbase.
        (binfo_for_vbase): New function.
        * typeck.c (get_delta_difference): Use binfo_for_vbase.
-       
+
 2000-05-17  Mark Mitchell  <mark@codesourcery.com>
 
        * decl2.c (finish_anon_union): Generalize error messages to handle
@@ -2428,15 +3058,15 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        (expand_member_init): Record the result of name lookup for future
        reference.
        * typeck.c (build_component_ref): Fix formatting.
-       
+
 Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * decl.c (pop_label): Replace warn_unused with warn_unused_label.
-       * typeck.c (build_x_compound_expr): Replace warn_unused with
-       warn_unused_value.
+       * typeck.c (build_x_compound_expr): Replace warn_unused with
+       warn_unused_value.
 
        * decl2.c (lang_decode_option): Update -Wall unused flags by
-       calling set_Wunused.
+       calling set_Wunused.
 
 2000-05-16  Mark Mitchell  <mark@codesourcery.com>
 
@@ -2491,7 +3121,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        (lang_init_options): Set default prefixing rules.
 
        * lang-options.h: Add -fdiagnostics-show-location=.
-       
+
        * decl2.c: #include diagnostic.h.
        (lang_decode_option): Handle -fdiagnostics-show-location=.
 
@@ -2558,7 +3188,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * rtti.c (ptmd_initializer): Set non-public, if class is
        incomplete.
-       
+
        * inc/cxxabi.h (__dynamic_cast): Explicitly say extern "C++".
        (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor,
        __cxa_vec_delete): Likewise.
@@ -2623,7 +3253,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        set DECL_DESTRUCTOR_P or DECL_CONSTRUCTOR_P on a thunk.
        * search.c (covariant_return_p): Remove THUNK_DECL handling.
        * ir.texi: Update.
-       
+
 2000-05-01  Jason Merrill  <jason@casey.cygnus.com>
 
        * tree.c (walk_tree): Set lineno.
@@ -2689,7 +3319,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        DECL_RESULT.
        (expand_call_inline): Update the pending target_exprs stack.
        (optimize_function): Initialize the stack.
-       
+
        * decl2.c (finish_file): Fix typo in comment.
 
        * method.c (emit_thunk): Don't try to return a `void' value.
@@ -2737,7 +3367,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        (build_reinterpret_cast): Likewise.
        (build_c_cast): Likewise.
        (convert_for_assignment): Likewise.
-       
+
 2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
 
        * decl.c (finish_function): Don't play games with DECL_INLINE.
@@ -2800,7 +3430,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 2000-04-22  Gabriel Dos Reis <gdr@codesourcery.com>
 
        * ir.texi:  Document complex number representation.
-       
+
 2000-04-20  Nathan Sidwell  <nathan@codesourcery.com>
 
        * rtti.c (init_rtti_processing): Set tinfo_var_id in new-abi.
@@ -2815,7 +3445,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        New enumeration.
        * inc/typeinfo (type_info::before, type_info::operator==):
        Compare __name addresses.
-       
+
        * tinfo2.cc: Remove new-abi builtins comment.
 
 2000-04-20  Jason Merrill  <jason@casey.cygnus.com>
@@ -2887,7 +3517,7 @@ Mon Apr 17 17:11:16 2000  Mark P Mitchell  <mark@codesourcery.com>
        * method.c (make_thunk): Tweak mangling for vcall offset thunks.
        Use int_size_in_bytes.
        (emit_thunk): Handle vcall offset thunks.
-       
+
 Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * decl2.c (parse_time, varconst_time): Delete declarations.
@@ -2897,7 +3527,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2000-04-13  Nathan Sidwell  <nathan@codesourcery.com>
 
        * class.c (build_base_field): Reformat comment.
-       
+
        * inc/cxxabi.h (stddef.h): Comment inclusion.
        (__base_class_info::__offset): Comment shift.
 
@@ -2931,13 +3561,13 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (build_delete): Use it.  Simplify.
        * optimize.c (maybe_clone_body): Handle destructors.
        * search.c (lookup_field_queue_p): Use IDENTIFIER_CTOR_OR_DTOR_P.
-       
+
        * exception.cc (cleanup_fn): New typedef.
        (CALL_CLEANUP): New macro.
        (cp_eh_info): Use them.
        (__cp_push_exception): Likewise.
        (__cp_pop_exception): Likewise.
-       
+
 2000-04-11  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (cp_tree_index): Add CPTI_DTOR_IDENTIFIER.
@@ -2990,7 +3620,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * search.c (lookup_fnfields_1): Use CLASSTYPE_CONSTRUCTOR_SLOT,
        CLASSTYPE_DESTRUCTOR_SLOT, and CLASSTYPE_FIRST_CONVERSION_SLOT.
        * semantics.c (expand_body): Clone function bodies as necessary.
-       
+
        * optimize.c (remap_decl): Avoid sharing structure for arrays
        whose size is only known at run-time.
        * tree.c (copy_tree_r): Don't copy PARM_DECLs.
@@ -3017,7 +3647,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * pt.c (instantiate_template): Remove goto.
        * tree.c (build_cplus_method_type): Remove mention of obstacks in
        comment.
-       
+
        * cp-tre.h (finish_function): Change prototype.
        * decl.c (end_cleanup_fn): Adjust caller.
        (finish_function): Take only one parameter.
@@ -3035,7 +3665,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * lex.c (copy_decl): Define it.
        * pt.c (tsubst_decl): Likewise.
        * tree.c (copy_template_template_parm): Likewise.
-       
+
        * cp-tree.h (lang_type): Remove has_nonpublic_ctor and
        has_nonpublic_assign_ref.
        (TYPE_HAS_NONPUBLIC_CTOR): Don't declare.
@@ -3065,7 +3695,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * decl.c (check_tag_decl): Notice extra fundamental types.
        Diagnose empty decls in classes, too.
 
-       * decl.c (grokdeclarator): Don't override an anonymous name if no 
+       * decl.c (grokdeclarator): Don't override an anonymous name if no
        declarator was given.
 
        * cvt.c (convert_to_void): Call resolve_offset_ref.
@@ -3099,7 +3729,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        specific catch checking. Fix void conversion check.
        (__pointer_to_member_type_info::__do_catch): Remove.
        (__pointer_to_member_type_info::__pointer_catch): Implement.
-       
+
 2000-04-10  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * lex.c (init_parse): Remove traces of classof and headof.
@@ -3118,7 +3748,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * pt.c (tsubst_decl): Likewise.
        * ptree.c (print_lang_decl): Don't print it.
        * typeck.c (mark_addressable): Don't use it.
-       
+
 2000-04-09  Nathan Sidwell  <nathan@codesourcery.com>
 
        * vec.cc: Include <new> and <exception>.
@@ -3180,8 +3810,8 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        __class_type_info::__dyncast_result): Move from inc/cxxabi.h.
        Adjust.
        (__class_type_info::find_public_src): Prepend __. Adjust.
-       (__class_type_info::do_find_public_src, 
-       __si_class_type_info::do_find_public_src, 
+       (__class_type_info::do_find_public_src,
+       __si_class_type_info::do_find_public_src,
        __vmi_class_type_info::do_find_public_src): Likewise.
        (__class_type_info::do_dyncast,
        __si_class_type_info::do_dyncast,
@@ -3224,7 +3854,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * typeck.c (build_static_cast): Use complete_ctor_identifier.
        (build_modify_expr): Likewise.
        * typeck2.c (build_functional_cast): Likewise.
-       
+
        Under the new ABI, constructors don't return `this'.
        * cp-tree.h (warn_reorder): Declare.
        (special_function_kind): New enum.
@@ -3249,7 +3879,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        of emit_base_init.
        * typeck.c (check_return_expr): Don't magically convert return
        statements into `return this' in constructors under the new ABI.
-       
+
        * cp-tree.h (cp_tree_index): Add CPTI_BASE_CTOR_IDENTIFIER,
        CPTI_BASE_DTOR_IDENTIFIER, and CPTI_DELETING_DTOR_IDENTIFIER.
        (base_ctor_identifier): New macro.
@@ -3270,7 +3900,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (build_delete): Use CLASSTYPE_N_BASECLASSES.
        * search.c (init_search_processing): Don't initialize
        vptr_identifier.
-       
+
 2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to elide
@@ -3288,7 +3918,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (__vmi_class_type_info::do_find_public_src): Adjust.
        (__vmi_class_type_info::do_dyncast): Adjust.
        (__vmi_class_type_info::do_upcast): Adjust.
-       
+
 2000-04-07  Nathan Sidwell  <nathan@codesourcery.com>
 
        * tinfo.cc (convert_to_base): New function.
@@ -3308,7 +3938,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (DECL_SAVED_INLINE): Rename to ...
        (DECL_DEFERRED_FN): ... this.
        (in_function_p): Remove declaration.
-       (mark_inline_for_output): Rename to ... 
+       (mark_inline_for_output): Rename to ...
        (defer_fn): ... this.
        * decl.c (finish_function): Adjust call to mark_inline_for_output.
        (in_function_p): Remove definition.
@@ -3358,7 +3988,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Makefile.in (GGC_H): New variable.  Use it throughout in place
        of ggc.h.
-       
+
        * call.c: Don't include obstack.h.  Include ggc.h.
        (obstack_chunk_alloc): Don't define.
        (obstack_chunk_free): Likewise.
@@ -3472,7 +4102,7 @@ Wed Apr  5 15:12:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        (__vmi_class_type_info::do_find_public_src): Use it.
        (__vmi_class_type_info::do_dyncast): Likewise.
        (__vmi_class_type_info::do_upcast): Likewise.
-       
+
 2000-04-03  Zack Weinberg  <zack@wolery.cumb.org>
 
        * lang-specs.h: Pass -fno-show-column to the preprocessor.
@@ -3575,7 +4205,7 @@ Wed Apr  5 15:12:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        * tree.c (debug_binfo): Likewise.
        * tinfo.cc (__dynamic_cast): Look for vtable_prefix at appropriate
        negative offset.
-       
+
 Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (check_field_decl): Fix typo.
@@ -3592,7 +4222,7 @@ Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (resolve_overloaded_unification, more_specialized): Likewise.
        * semantics.c (finish_member_declaration): Likewise.
        * typeck.c (build_x_function_call): Likewise.
-       
+
 2000-03-26  Mark Mitchell  <mark@codesourcery.com>
 
        * class.c (layout_empty_base): Handle empty bases with non-byte
@@ -3601,7 +4231,7 @@ Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (layout_virtual_bases): Likewise.
 
        * class.c (finish_struct_1): Fix typo in this change:
-       
+
        Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2000-03-25  Mark Mitchell  <mark@codesourcery.com>
@@ -3610,7 +4240,7 @@ Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        keeping track of how many template classes have been seen.
 
        * dump.c (dequeue_and_dump): Dump DECL_TEMPLATE_RESULT.
-       
+
 Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_vbase_pointer_fields): layout_field now place_field.
@@ -3632,11 +4262,11 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * rtti.c (expand_class_desc): Use bitsize_one_node.
        * typeck.c (build_component_addr): Use byte_position and don't
        special case for zero offset.
-       
+
 2000-03-24  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl.c (vtype_decl_p): Use TYPE_POLYMORPHIC_P.
-       
+
        * rtti.c (get_tinfo_decl): Set comdat linkage on new-abi
        tinfo object.
        (emit_tinfo_decl): Only emit polymorphic tinfo's when emitting
@@ -3671,7 +4301,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * search.c (lookup_field_1): Likewise.
        * tree.c (walk_tree, get_type_decl, cp_tree_equal, member_p): Likewise.
        * xref.c (classname): Likewise.
-       
+
 2000-03-22  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (BINFO_FOR_VBASE): Adjust documentation.
@@ -3700,7 +4330,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (dfs_find_vbases):  Adjust usage of BINFO_NEW_VTABLE_MARKED.
        (dfs_clear_vbase_slots): Likewise.
        (init_vbase_pointers): LIkewise.
-       
+
 2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
 
        * typeck.c (type_after_usual_arithmetic_conversions): Prefer a
@@ -3710,7 +4340,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (layout_virtual_bases): Adjust names in conditionally
        compiled code.
-       
+
        * class.c (record_base_offsets): New function.
        (layout_conflict_p): Likewise.
        (layout_nonempty_base_or_field): Use it.
@@ -3726,7 +4356,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * cp-tree.h (CLASSTYPE_VBASECLASSES): Fix typo in comment.
        (fntype_p): Remove.
        * search.c (dfs_skip_nonprimary_vbases_unmarkedp): Fix typo in
-       comment. 
+       comment.
        (dfs_skip_nonprimary_vbases_markedp): Likewise.
        * typeck.c (fntype_p): Remove.
 
@@ -3812,7 +4442,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * init.c (build_offset_ref): Handle the case of a templated member
        function.
-    
+
 2000-03-19  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * except.c (expand_exception_blocks): Clear catch_clauses_last.
@@ -3833,7 +4463,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        when dereferencing them under the new ABI.
        * typeck.c (get_member_function_from_ptrfunc): Tweak calculation
        of pointers-to-members under the new ABI.
-       
+
        * class.c (check_bitfield_decl): Remove restriction on really long
        bitfields.
        (layout_class_type): Implement new ABI handling of bitfields
@@ -3874,7 +4504,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        host_integerp, and tree_low_cst.
        (pointer_int_sum): Use integer_zerop.
        (build_component_addr): Use bit_position.
-       
+
 2000-03-17  Nathan Sidwell  <nathan@codesourcery.com>
 
        * typeck.c (require_complete_type): Don't assume size_zero_node.
@@ -3909,7 +4539,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 2000-03-15  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl.c (cp_finish_decl): Remove obsolete comment.
-       
+
        * typeck.c (build_ptrmemfunc1): Kill uninitialized warning.
 
 2000-03-14  Mark Mitchell  <mark@codesourcery.com>
@@ -3993,7 +4623,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (tsubst_decl): Fix typo in code contained in comment.
        (instantiate_template): Handle member template specializations.
        (most_general_template): Likewise.
-       
+
 2000-03-11  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * lex.c (whitespace_cr): Compress consecutive calls to warning().
@@ -4039,8 +4669,8 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (nothrow_libfn_p): New fn.
        * decl.c (grokfndecl): Use it.
        * cp-tree.h: Declare it.
-       
-       * decl.c (push_overloaded_decl_1, auto_function, 
+
+       * decl.c (push_overloaded_decl_1, auto_function,
        define_function): Lose.
        (build_library_fn_1): New static fn.
        (builtin_function): Use it.
@@ -4054,7 +4684,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * except.c (init_exception_processing, call_eh_info, do_pop_exception,
        (expand_end_eh_spec, alloc_eh_object, expand_throw): Use above fns.
        * rtti.c (build_runtime_decl): Lose.
-       (throw_bad_cast, throw_bad_typeid, get_tinfo_decl, 
+       (throw_bad_cast, throw_bad_typeid, get_tinfo_decl,
        build_dynamic_cast_1, expand_si_desc, expand_class_desc,
        expand_ptr_desc, expand_attr_desc, expand_generic_desc): Use above fns.
 
@@ -4104,7 +4734,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * typeck.c (convert_for_assignment): Don't look at array
        initializer.
-       * call.c (convert_like_real): Likewise. 
+       * call.c (convert_like_real): Likewise.
 
 2000-03-07  Jason Merrill  <jason@casey.cygnus.com>
 
@@ -4115,7 +4745,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (utf8_extend_token): New fn, #if 0'd out.
        (real_yylex): Treat extended chars like letters.
 
-       * search.c (note_debug_info_needed): Walk the bases even if we 
+       * search.c (note_debug_info_needed): Walk the bases even if we
        weren't deferring the type itself.
 
 2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
@@ -4156,7 +4786,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little
        later.
-       
+
        * dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P.
 
 2000-03-05  Nathan Sidwell  <nathan@codesourcery.com>
@@ -4164,7 +4794,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * call.c (convert_like): Macrofy.
        (convert_like_with_context): New macro.
        (convert_like_real): Renamed from convert_like.  Add calling
-       context parameters, for diagnostics. Add recursive flag.  Call 
+       context parameters, for diagnostics. Add recursive flag.  Call
        dubious_conversion_warnings for outer conversion.
        (build_user_type_conversion): Use convert_like_with_context.
        (build_over_call): Likewise. Don't warn about dubious
@@ -4175,7 +4805,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (dubious_conversion_warnings): Prototype new function.
        * typeck.c (convert_arguments): Adjust convert_default_arg call.
        (dubious_conversion_warnings): New function, broken
-       out of convert_for_assignment. 
+       out of convert_for_assignment.
        (convert_for_assignment): Adjust.
 
 2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
@@ -4186,7 +4816,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * decl.c (finish_function): Don't mess with flag_keep_inline_functions.
        * decl2.c (finish_vtable_vardecl): Don't check decl_function_context.
 
-       * search.c (note_debug_info_needed, dfs_debug_mark, 
+       * search.c (note_debug_info_needed, dfs_debug_mark,
        dfs_debug_unmarkedp): Uncomment.  Adjust for new scheme.
        * decl2.c (finish_vtable_vardecl): Call note_debug_info_needed.
 
@@ -4252,10 +4882,10 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (build_cplus_array_test_1): Likewise.
        (cp_build_qualified_type_real): Likewise.
        * typeck.c (complete_type): Likewise.
-       
+
        * g++spec.c (lang_specific_driver): Add -fnew-abi at the start of
        the command-line, not the end.
-       
+
 2000-03-01  Jason Merrill  <jason@casey.cygnus.com>
 
        * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG.
@@ -4369,19 +4999,19 @@ Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * call.c (add_function_candidate): Add ctype parm; if non-zero,
        override the type of 'this' accordingly.
        (add_template_candidate, add_template_candidate_real): Add ctype parm.
-       (convert_class_to_reference, build_user_type_conversion_1, 
+       (convert_class_to_reference, build_user_type_conversion_1,
        build_new_function_call, build_object_call, build_new_op,
        build_new_method_call): Pass ctype parm.
 
        * search.c (lookup_member): Put rval_binfo, not basetype_path, in
        the baselink.
-       * call.c (convert_class_to_reference, build_user_type_conversion_1, 
+       * call.c (convert_class_to_reference, build_user_type_conversion_1,
        build_new_function_call, build_object_call, build_new_op,
        build_new_method_call, build_op_delete_call): Don't get basetype_path
        from a baselink.
        * typeck.c (build_component_ref): Likewise.
        * init.c (build_offset_ref): Likewise.
-       (resolve_offset_ref): Don't call enforce_access.  
+       (resolve_offset_ref): Don't call enforce_access.
        Call build_scoped_ref.
        * typeck2.c (build_scoped_ref): Simplify.  Do nothing if it
        would cause an error or if -pedantic.
@@ -4407,7 +5037,7 @@ Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        EXPR_WITH_FILE_LOCATION.
        * lex.c (check_newline): Tweak filename/lineno setting.
        * semantics.c (begin_while_stmt): Fix typo in comment.
-       
+
 Sat Feb 26 19:50:23 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * lang-options.h (-fmessage-length=): Add missing option.
@@ -4433,7 +5063,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        * parse.c: Regenerated.
        * Makefile.in (lex.o): Depend on input.h.
        (optimize.o): Likewise.
-       
+
 2000-02-24  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl.c (grokdeclarator): Diagnose qualifiers on non-member
@@ -4456,7 +5086,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        (parse_float, real_yylex): Likewise.
        * parse.y (paren_expr_or_null, paren_cond_or_null): Likewise.
        (unary_expr, new_initializer, cast_expr, primary, primary_no_id,
-       new_type_id, maybe_label_decls, simple_stmt, 
+       new_type_id, maybe_label_decls, simple_stmt,
        for.init.statement): Likewise.
        * pt.c (do_decl_instantiation, do_type_instantiation): Likewise.
        * semantics.c (finish_named_return_value): Likewise.
@@ -4492,7 +5122,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        (expand_ptrmemfunc_cst): Likewise.
        (delta2_from_ptrmemfunc): Assert that we're not using the new ABI.
        (pfn_from_ptrmemfunc): Adjust for the new ABI.
-       
+
 2000-02-21  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * call.c (build_object_call): Compress consecutive calls to
@@ -4501,7 +5131,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        (build_op_delete_call): Adjust message formatting.
 
        * class.c (check_bases): Compress consecutive calls to
-       cp_pedwarn. 
+       cp_pedwarn.
        (finish_struct_anon): Say 'ISO C++'.
 
        * decl.c (start_decl): Same here.
@@ -4511,7 +5141,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        (check_static_variable_definition): Likewise. Say 'ISO C++'
        (compute_array_index_type): Say 'ISO C++'
        (create_array_type_for_decl): Compress consecutive calls to
-       cp_error. 
+       cp_error.
        (grokdeclarator): Say 'ISO C++'
        (grok_op_properties): Likewise.
 
@@ -4522,7 +5152,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        * expr.c (do_case): Say 'ISO C++'
 
        * friend.c (do_friend): Compress consecutive calls to warning.
-       
+
 2000-02-20  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (merge_primary_and_secondary_vtables_p): New macro.
@@ -4546,12 +5176,12 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
        (build_secondary_vtable): ... here.
 
        * pt.c (tsubst_decl): Fix formatting.
-       
+
 Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_primary_vtable, layout_vtable_decl): Likewise.
        (avoid_overlap, build_base_field): Likewise.
-       (build_base_field, build_base_fields, is_empty_class): 
+       (build_base_field, build_base_fields, is_empty_class):
        Test DECL_SIZE with integer_zero.
        (layout_class_type): Set CLASSTYPE_SIZE_UNIT.
        * cp-tree.h (struct lang_type): New field size_unit.
@@ -4571,12 +5201,12 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        functions.
        (build_vtbl_initializer): Adjust accordingly.
        (get_vtable_decl): Fix formatting.
-       
+
 2000-02-18  Jason Merrill  <jason@casey.cygnus.com>
 
        * semantics.c (deferred_type_access_control): Walk the entire
        type_lookups list.
-       (save_type_access_control): Rename from 
+       (save_type_access_control): Rename from
        initial_deferred_type_access_control.  Just remember the value.
        (decl_type_access_control): New fn.
        (begin_function_definition): Use deferred_type_access_control, after
@@ -4590,7 +5220,7 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (notype_component_declarator): Likewise.
        * cp-tree.h: Adjust.
 
-       * decl.c (redeclaration_error_message): Allow redeclaration of 
+       * decl.c (redeclaration_error_message): Allow redeclaration of
        namespace-scope decls.
 
 2000-02-18  Martin von Loewis  <loewis@informatik.hu-berlin.de>
@@ -4684,7 +5314,7 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (is_member_template): Use decl_function_context, not
        hack_decl_function_context.  Use DECL_CONTEXT, not
        DECL_CLASS_CONTEXT.
-       (build_template_decl): Set DECL_VIRTUAL_CONTEXT, not 
+       (build_template_decl): Set DECL_VIRTUAL_CONTEXT, not
        DECL_CLASS_CONTEXT.
        (check_default_tmpl_args): Use CP_DECL_CONTEXT, not
        DECL_REAL_CONTEXT.
@@ -4712,7 +5342,7 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * typeck.c (build_x_function_call): Use DECL_CONTEXT, not
        DECL_CLASS_CONTEXT.
        * typeck2.c (error_not_base_type): Likewise.
-       
+
 2000-02-15  Jason Merrill  <jason@casey.cygnus.com>
 
        * decl.c (xref_tag): Don't SET_IDENTIFIER_NAMESPACE_VALUE.
@@ -4781,7 +5411,7 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (struct saved_scope): Add lookups field.
        (type_lookups): New macro.
        * parse.y (declmods): Now <ftype>.
-       (parse_decl): Add lookups parm.  Call 
+       (parse_decl): Add lookups parm.  Call
        initial_deferred_type_access_control.
        (lang_extdef): Clear type_lookups.
        (typed_declspecs, declmods, typespec): Set lookups field.
@@ -4863,9 +5493,9 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        unreal chilren of virtual bases.
        (finish_struct_1): Don't use merge_overrides.  Don't use
        dfs_fixup_vtable_deltas.
-       * tree.c (reverse_path): Return a TREE_LIST, not a chain of 
+       * tree.c (reverse_path): Return a TREE_LIST, not a chain of
        BINFOs.
-       
+
 2000-01-31  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
            Jason Merrill  <jason@yorick.cygnus.com>
 
@@ -4890,13 +5520,13 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        (type_info::is_pointer_p, type_info::is_function_p): Declare
        new virtual functions.
        (type_info::do_catch, type_info::do_upcast): Likewise.
-       
+
        * tinfo.h (__base_class_info): Define new class.
        (__class_type_info): Likewise.
        (__si_class_type_info): Likewise.
        (__vmi_class_type_info): Likewise.
        (__dynamic_cast): Prototype.
-       
+
        * tinfo.cc: Conditionalize old and new rtti mechanisms.
        (type_info::is_pointer_p): Define new function.
        (type_info::is_function_p): Likewise.
@@ -4924,7 +5554,7 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        (__si_class_type_info::do_upcast): Likewise.
        (__vmi_class_type_info::do_upcast): Likewise.
        (__dynamic_cast): Likewise.
-       
+
        * tinfo2.cc (__fundamental_type_info): Define new class.
        (__pointer_type_info): Likewise.
        (__reference_type_info): Likewise.
@@ -4941,7 +5571,7 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        (__ptr_to_member_type_info::~__ptr_to_member_type_info): Likewise.
        (__pointer_type_info::do_catch): Define new function.
        (__ptr_to_member_type_info::do_catch): Define new function.
-       
+
        (__throw_type_match_rtti_2): Use new ABI interface, if enabled.
        (__is_pointer): Likewise.
 
@@ -4958,7 +5588,7 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        (override_one_vtable): Use build_secondary_vtable.
        (finish_struct_1): Use build_primary_vtable and
        build_secondary_vtable.
-       
+
 2000-01-28  Ulrich Drepper  <drepper@redhat.com>
 
        * cp/decl.c: Adjust variable names, comments, help strings.
@@ -4994,9 +5624,9 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        and BF_FN.
        (modify_one_vtable): Simplify.
        (dfs_fixup_vtable_deltas): Likewise.
-       (override_one_vtable): Use BF_DELTA, BF_VCALL_INDEX, BF_FN. 
+       (override_one_vtable): Use BF_DELTA, BF_VCALL_INDEX, BF_FN.
        * method.c (make_thunk): Handle vcall indices.
-       
+
 2000-01-28  Nathan Sidwell  <sidwell@codesourcery.com>
 
        Compiler side new abi rtti (not enabled).
@@ -5100,7 +5730,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (dfs_finish_vtabls): Use layout_vtable_decl.
        (modify_one_vtables): Always duplicate vtables under the new ABI.
        (finish_struct_1): Use layout_vtable_decl.
-       
+
 2000-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * decl.c (member_function_or_else): Change third arg from a format
@@ -5111,7 +5741,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * typeck.c (composite_pointer_type, c_sizeof, expr_sizeof,
        build_binary_op_nodefault, build_unary_op, build_reinterpret_cast,
        build_const_cast, get_delta_difference, check_return_expr): Avoid
-       ANSI string concatenation usage.  
+       ANSI string concatenation usage.
 
 2000-01-24  Mark Mitchell  <mark@codesourcery.com>
 
@@ -5231,7 +5861,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * typeck.c (convert_arguments): Restore two-message error
        reporting.
-       
+
 2000-01-20  Nathan Sidwell  <sidwell@codesourcery.com>
 
        Remap dynamic cast hint values to be consistent across ABIs.
@@ -5242,7 +5872,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * tinfo.cc (__si_type_info::do_dyncast): Remap BOFF meaning.
        (__class_type_info::do_dyncast): Likewise.
        (__class_type_info::do_find_public_subobj): Likewise.
-       * tinfo2.cc (__dynamic_cast): Remap BOFF parameter.     
+       * tinfo2.cc (__dynamic_cast): Remap BOFF parameter.
 
 2000-01-19  Gabriel Dos Reis  <gdr@codesourcery.com>
 
@@ -5250,16 +5880,16 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * typeck2.c (incomplete_type_error): Restore previous
        cp_error and cp_error_at call sequence.
-       
+
 2000-01-20  Brad Lucier  <lucier@math.purdue.edu>
 
        * class.c (dump_class_hierarchy): Make format agree with argument;
        cast pointer to unsigned long and print with %lx.
-       
+
 2000-01-19  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * decl2.c (lang_decode_option): Set default line-wrap length to 72.
-       
+
        * typeck.c (composite_pointer_type, common_type,
        comp_target_parms, c_sizeof, expr_sizeof, build_array_ref,
        build_function_call_real, convert_arguments,
@@ -5267,7 +5897,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        build_unary_op, mark_addressable, build_compound_expr,
        build_static_cast, build_reinterpret_cast, build_const_cast,
        build_c_cast, build_modify_expr, get_delta_difference,
-       build_ptrmemfunc, check_return_expr): Replace 'ANSI C++' with 
+       build_ptrmemfunc, check_return_expr): Replace 'ANSI C++' with
        'ISO C++'.  Fusion consecutive calls to diagnotic message routines
        into a single one.
        * typeck2.c (readonly_error, abstract_virtuals_error,
@@ -5326,7 +5956,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (finish_struct_1): Adjust call to modify_all_vtables.  Add
        overridden functions from non-primary bases to the vtable.
        * tree.c (build_shared_int_cst): New function.
-       
+
        * cp-tree.h (scratchalloc): Remove.
        (build_scratch_list): Likewise.
        * call.c (convert_class_to_reference): Replace build_scratch_list
@@ -5360,7 +5990,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * typeck.c (build_x_compound_expr): Likewise.
        (build_static_cast): Likewise.
        (build_modify_expr): Likewise.
-       
+
        * cp-tree.h (DECL_VINDEX): Add documentation.
        * class.c (build_vtable_entry): Likewise.
        (start_vtable): Add comment.
@@ -5373,7 +6003,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (create_vtbl_ptr): Likewise.
        (layout_class_type): Likewise.
        (finish_struct_1): Likewise.  Add comments.
-       
+
 2000-01-16  Mark Mitchell  <mark@codesourcery.com>
 
        * class.c (finish_struct_1): Replace redundant code with
@@ -5394,7 +6024,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (build_vbase_offset_vtbl_entries): Simplify.
        (build_vbase_offset_vtbl_entries): Adjust.
        (build_vbase_pointer): Add ability to look up vbase offsets in
-       vtable. 
+       vtable.
        (start_vtable): New function.
        (add_virtual_function): Use it.
        (determine_primary_base): Use TYPE_CONTAINS_VPTR_P.
@@ -5423,14 +6053,14 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * search.c (dfs_walk_real): Make it global.
        (dfs_debug_mark): Use TYPE_CONTAINS_VPTR_P.
        * tree.c (make_binfo): Don't clear BINFO_VPTR_FIELD.
-       
+
        * tinfo.h (USItype): Make it signed under the new ABI.
        * tinfo.cc (convert_to_base): New function.  Encapsulate base
        conversion logic here.
        (__class_type_info::do_upcast): Use it.
        (__class_type_info::do_dyncast): Likewise.
        (__class_type_info::do_find_public_subobj): Likewise.
-       
+
        * init.c (construct_virtual_bases): Don't look up the addresses of
        virtual bases at run-time.
 
@@ -5470,7 +6100,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (dfs_vtable_path_unmarked_real_bases_queue_p): New function.
        (dfs_vtable_path_marked_real_bases_queue_p): New function.
        (dfs_vtable_path_unmark): Likewise.
-       
+
 2000-01-14  Mark Mitchell  <mark@codesourcery.com>
 
        * optimize.c (copy_body_r): Clear the operand three of a
@@ -5486,7 +6116,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * pt.c (tsubst_friend_function): Improve comment.
        (instantiate_decl): Avoid crashing when a "nested" function is
        instantiated from the top level.
-       
+
        * dump.c (dqeueue_and_dump): Dump
        DECL_FRIEND_PSEUDO_TEMPLATE_INSTANTIATION.
 
@@ -5522,7 +6152,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * parse.c: Regenerated.
        * pt.c (finish_member_template_decl): Likewise.
        * typeck.c (decay_conversion): Likewise.
-       
+
        * cp-tree.h (dfs_skip_vbases): New function.
        (find_vbase_instance): Likewise.
        * class.c (determine_primary_base): Allow a nearly empty base to
@@ -5549,16 +6179,16 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (fixup_all_virtual_upcast_offsets): Likewise.
        (dfs_find_vbase_instances): New function.
        (find_vbase_instance): Likewise.
-       
+
 2000-01-11  Mumit Khan  <khan@xraylith.wisc.edu>
 
        * lex.c (DIR_SEPARATOR): Delete macro.
 
 2000-01-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+
        * decl2.c (lang_decode_option): Handle automatic line wrapping
        option.
-       
+
 2000-01-11  Mark Mitchell  <mark@codesourcery.com>
 
        * friend.c (do_friend): Don't resolve scopes when processing
@@ -5583,7 +6213,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (layout_basetypes): Don't call propagate_binfo_offsets.
        * search.c (dfs_get_vbase_types): Clone completely fresh binfos
        for the vbases.
-       
+
        * class.c (build_base_field): New function, split out from ...
        (build_base_fields): ... here.  Use it.  Allocate primary bases
        first, under the new ABI.
@@ -5591,7 +6221,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (remove_base_field): New function, split out from ...
        (remove_base_fields): ... here.  Adjust since primary bases come
        first under the new ABI.
-       
+
        * cp-tree.h (expand_direct_vtbls_init): Remove declaration.
        (initialize_vtbl_ptrs): New function.
        (expand_indirect_vtbls_init): Change prototype.
@@ -5603,11 +6233,11 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * search.c (convert_pointer_to_vbase): Make it global.
        (expand_indirect_vtbls_init): Remove vtable initialization code.
        * semantics.c (setup_vtbl_ptr): Use initialize_vtbl_ptrs.
-       
+
        * class.c (dfs_finish_vtbls): New function.
        (finish_vtbls): Use it.
        (dump_class_hierarchy): New function.
-       
+
        * cp-tree.h (BINFO_PRIMARY_MARKED_P): Change definition.
        (BINFO_VBASE_PRIMARY_P): New macro.
        (BINFO_VIRTUALS): Add to documentation.
@@ -5623,7 +6253,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (dfs_marked_real_bases_queue_p): Likewise.
        (dfs_get_pure_virtuals): Simplify.
        (get_pure_virtuals): Likewise.
-       
+
 2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * lex.c: Include tm_p.h.
@@ -5637,7 +6267,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * decl2.c (comdat_linkage): Don't set DECL_DEFER_OUTPUT.
        * pt.c (instantiate_decl): Defer comdat templates that might not be
        needed.
-       
+
        * cp-tree.h (DECL_NEEDED_P): Also true if !DECL_COMDAT.
        * decl2.c (finish_vtable_vardecl): Don't check !DECL_COMDAT.
        (finish_file): Likewise.
@@ -5676,7 +6306,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        or unshare_base_binfos for virtual bases here.
        * search.c (dfs_get_vbase_types): Do it here.
        (get_vbase_types): Adjust.
-       
+
 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
@@ -5690,7 +6320,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        are no base classes.  Call mark_primary_bases here.
        (modify_all_direct_vtables): Remove.
        (modify_all_indirect_vtables): Remove.
-       (dfs_modify_vtables_queue_p): New function.     
+       (dfs_modify_vtables_queue_p): New function.
        (dfs_modify_vtables): New function.
        (modify_all_vtables): Use them.
        (build_base_fields): Build FIELD_DECLs for primary virtual base
@@ -5737,7 +6367,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        * tree.c (CEIL): Remove.
        (propagate_binfo_offsets): Remove.
        (layout_basetypes): Remove.
-       
+
 2000-01-01  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
@@ -5752,7 +6382,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (dfs_unmark_primary_bases): Likewise.
        (unmark_primary_bases): Likewise.
        (dfs_get_pure_virtuals): Likewise.
-       
+
 2000-01-01  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (skip_rtti_stuff): Adjust prototype.
@@ -5764,7 +6394,7 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (get_pure_virtuals): Likewise.
        (expand_upcast_fixups): Likewise.
        * tree.c (debug_binfo): Likewise.
-       
+
        * class.c (build_vtable): Don't return a value.  Don't rebuild
        vtables for bases that have already been handled.
        (prepare_fresh_vtable): Don't rebuild vtables for bases that have
@@ -5776,4 +6406,3 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 2000-01-01  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
        * call.c (build_new_method_call): Also check destructors.
-