OSDN Git Service

* typeck2.c (process_init_constructor): Don't strip cv-qualifiers
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 4538a80..2aa936c 100644 (file)
-Thu Mar 12 08:39:13 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+Fri Apr 17 00:45:12 1998  Mark Mitchell  <mmitchell@usa.net>
 
-       * decl2.c (lang_decode_option): Change j's type to size_t.
+       * typeck2.c (process_init_constructor): Don't strip cv-qualifiers
+       when doing initializations.
 
-       * tree.c (layout_vbasetypes): record_align and desired_align are of
-       type unsigned int; const_size and nonvirtual_const_size likewise.
+Fri Apr 17 00:24:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (duplicate_decls): Fix check for when it's safe to free
+       the new decl.
+
+       * pt.c (mangle_class_name_for_template): Don't pass a typedef type
+       to type_as_string.
+       From Mark Mitchell:
+       (unify): Use comptypes to compare type args.
+
+Thu Apr 16 17:47:30 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * pt.c (build_template_parm_index): Add prototype.
+
+       * search.c (my_tree_cons): Don't clear words outside the
+       newly allocated node.
+
+Wed Apr 15 15:34:44 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * lex.c (init_parse): Now returns char* containing the filename.
+
+Wed Apr 15 13:20:06 1998  John Carr  <jfc@mit.edu>
+                         Jeff Law   <law@cygnus.com>
+
+       * errfn.c: Rework to avoid problems when HOST_WIDE_INT is longer
+       than a pointer.
+
+Fri Apr 10 12:16:49 1998  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+
+       * decl.c (duplicate_decls): Don't warn for redundant decls if
+       friend: let add_friend take care of it.
+
+Thu Apr  9 02:40:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * sig.c (build_signature_pointer_constructor): Don't set
+       TREE_HAS_CONSTRUCTOR for a signature pointer.
+       * cvt.c (ocp_convert): Don't force a temporary for internal structs.
+       * init.c (resolve_offset_ref): Warn about implicit & on pmfs 
+       here, too.
+       * typeck.c (build_unary_op): Only allow taking the address of a 
+       real constructor.
+       * typeck2.c (digest_init): Simplify.
+       (store_init_value): Don't pedwarn about using { } for pmfs.
+
+Thu Apr  9 22:16:57 1998  Per Bothner  <bothner@cygnus.com>
+
+        * cp-tree.h (start_decl):  Update prototype.
+        * decl.c (start_decl):  Like the C version, new parameters
+        for the attributes.  Call cplus_decl_attributes here,
+        (pushdecl):  Like C version, do build_type_copy if TYPE_DECL,
+        (grokdeclarator):  Pass NULL for new start_decl arguments.
+        * pt.c (tsubst_expr):  Likewise.
+        * parse.y:  Merge cplus_decl_attribute calls into start_decl calls.
+       * typeck.c (common_type): Check TYPE_MAIN_VARIANT.
+       * lex.c (build_lang_decl): Add lang_name_java.
+       * class.c (push_lang_context): Add lang_name_java.
+       * method.c (build_mangled_name): Check for is_java_type.
+
+Thu Apr  9 22:16:57 1998  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+
+       * decl.c (grokdeclarator): Check TYPE_MAIN_VARIANT.
+       * call.c (build_scoped_method_call): Check for TREE_CODE for
+       VOID_TYPE instead of type ==  void_type_node.
+       (build_method_call): Ditto.
+       * decl.c (lookup_name_real): Ditto.
+       (grokdeclarator): Ditto.
+       (start_decl): Ditto.
+       (grokparms): Ditto.
+       (start_function): Ditto.
+       (finish_function): Ditto.
+       (start_method): Ditto.
+
+Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
+
+       * lex.c (finput): New variable.
+       (init_cpp_parse):  Renamed from init_parse.
+       (init_parse): Handle !USE_CPPLIB.  Call init_cpp_parse when finished.
+       (finish_parse): New function.
+       * cp-tree.h (init_lex, init_parse): Remove declarations.
+
+Mon Apr  6 02:25:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * call.c (build_call): Still evaluate the actual argument.
+       * class.c (is_empty_class): Update for -fnew-abi.
+
+       * decl2.c: -fnew-abi implies -fsquangle.
+
+       * method.c (do_build_assign_ref): Don't do anything to copy
+       an empty class.
+       (do_build_copy_constructor): Likewise.
+       * call.c (build_over_call): Likewise.
+
+Sat Apr  4 18:43:58 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (avoid_overlap): Return a value.
+
+Sat Apr  4 12:52:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * method.c (check_btype): Add missing argument to xrealloc.
+       (check_ktype): Likewise.
+
+Fri Apr  3 02:22:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       Implement empty base optimization.
+       * class.c (finish_struct_1): Add vbase fields earlier.  Set 
+       CLASSTYPE_SIZE of an empty base to 0.  Types with bases can be empty.
+       * search.c (dfs_check_overlap, dfs_no_overlap_yet): New fns.
+       (types_overlap_p): New fn.
+       * tree.c (avoid_overlap): New fn.
+       (build_base_fields): Use it to avoid overlapping empty bases.
+       * cp-tree.h, decl2.c, lang-options.h: Add -fnew-abi.
+
+       * decl.c (cplus_expand_expr_stmt): Strip unused INDIRECT_REFs.
+
+       Re-implement allocation of base class subobjects.
+       * tree.c (unshare_base_binfos): New fn.
+       (layout_basetypes): Use it.  Now handles offsets of both virtual and
+       non-virtual bases, after layout_type.
+       (layout_vbasetypes): Remove.
+       (build_base_fields): Generate FIELD_DECLs for each non-virtual base.
+       (build_vbase_pointer_fields): Split out from old layout_basetypes.
+       * class.c (finish_base_struct): Lose offset handling code.
+       Move nonvdtor warning here.  Don't mess with t_binfo anymore.
+       (finish_struct_1): Don't mess with t_binfo anymore.  Use fns above.
+       * cp-tree.h: Adjust.
+
+Thu Apr  2 14:25:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cp-tree.h: Lose CLASSTYPE_VBASE_SIZE, some unused stuff.
+       * decl.c, decl2.c, pt.c, ptree.c, lex.c: Likewise.
+       * class.c (duplicate_tag_error): Likewise.
+       (finish_struct_1): Set CLASSTYPE_SIZE, CLASSTYPE_MODE, CLASSTYPE_ALIGN.
+       * tree.c (layout_vbasetypes): Update from layout_record, remove
+       var_size support, use CLASSTYPE_SIZE instead of CLASSTYPE_VBASE_SIZE.
+       (layout_basetypes): Likewise.
+
+Wed Apr  1 18:22:25 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * class.c, Make sure system.h is included just after config.h.
+       Delete lingering stdio and errno references too.
+       * decl.c, errfn.c, parse.y, ptree.c search.c, xref.c: Likewise.
+       
+Wed Apr  1 15:38:36 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * friend.c (is_friend): Fix access control for local classes.
+
+       * class.c (is_empty_class): New fn.
+       * call.c (build_call): Don't pass empty class objects to a function.
+
+Wed Apr  1 14:58:35 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * call.c (build_over_call): Do name resolution for default
+       arguments of function templates in the scope of the templates.
+
+Tue Mar 31 13:43:57 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * call.c: Include system.h.  Remove includes, declarations and
+       defines provided by system.h.
+       * class.c, cvt.c, decl.c, decl2.c, errfn.c error.c: Likewise.
+       * except.c, expr.c friend.c, g++spec.c, init.c, input.c: Likewise.
+       * lex.c, parse.y, pt.c, ptree.c repo.c rtti.c, search.c: Likewise.
+       * semantics.c, sig.c, spew.c, tree.c, typeck.c: Likewise.
+       * typeck2.c, xref.c: Likewise.
+       * Makefile.in: Dependencies updated as appropriate.
+       * Make-lang.in: Likewise.
+
+Mon Mar 30 12:15:00 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (fn_type_unification): Allow incomplete unification without 
+       an immediate error message.
+
+Mon Mar 30 08:55:42 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (member_p): New fn.
+       * decl2.c (finish_file): Only set DECL_STATIC_FUNCTION_P for
+       initializing class members.
+
+       * cp-tree.def (TEMPLATE_PARM_INDEX): Class 'x'.
+       * ptree.c (lang_print_xnode): Handle TEMPLATE_PARM_INDEX.
+
+       * call.c (build_method_call): Handle non-scoped destructors, too.
+       * pt.c (tsubst_copy): Likewise.
+
+       * pt.c (print_template_context): Split out...
+       (push_tinst_level): ...from here.
+
+       * friend.c (is_friend): Don't pass a type to decl_function_context.
+
+       * typeck.c (convert_for_initialization): Always hand off
+       conversions to class type.
+
+Sun Mar 29 20:01:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * friend.c (is_friend): Local classes have the same access as the
+       enclosing function.
+
+Sun Mar 29 00:47:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * typeck.c (expand_target_expr): Delete dead function.
+
+       * search.c: Put various prototypes inside #ifdef MI_MATRIX.
+
+       * repo.c (save_string): Delete dead function.
+
+       * method.c (thunk_printable_name): Delete dead function.
+
+       * lex.c (yynextch): Delete dead function.
+
+       * expr.c (tree_extract_aggr_init): #if 0 out.
+
+       * except.c (do_unwind): Delete dead function.
+       (easy_expand_asm): Likewise.
+
+       * cvt.c (build_conversion_type_1): Delete dead function.
+
+       * cp-tree.h (push_expression_obstack): Declare.
+
+       * call.c (source_type): #if 0 out.
+
+       * class.c (alter_access): Remove unused label.  Add braces
+       around empty else clause.
+
+       * lex.c (yyprint): Fix argument to printf.
+
+Sat Mar 28 17:43:52 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (tsubst): Clear TREE_USED for new FUNCTION_DECLs.
+
+       * pt.c (instantiate_class_template): Make sure template
+       arguments are permanent.
+       * init.c (resolve_offset_ref): Don't go looking around in
+       template types.
+
+       * semantics.c: Add routines to handle expressions, and some
+       declaration processing.
+       * parse.y: Use them.
+       (current_class_depth): Move declaration to cp-tree.h.
+       * parse.c: Regenerated.
+       * cp-tree.h: Use them.
+       (current_class_depth): Declare.
+       * pt.c (tsubst_copy): Use begin_stmt_expr and finish_stmt_expr.
+
+Fri Mar 27 20:23:18 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * error.c (dump_decl): Be a bit more explicit with template
+       type arguments, when verbose.
+       
+Fri Mar 27 18:16:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * inc/exception: Reorder closing braces.
+
+Fri Mar 27 13:22:18 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (redeclare_class_template): New function.
+       * cp_tree.h (redeclare_class_template): Declare it.
+       * decl.c (xref_tag): Use it.
+
+Thu Mar 26 11:16:30 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * call.c (build_over_call): Check IS_AGGR_TYPE, not 
+       TYPE_LANG_SPECIFIC.
+       * typeck.c (convert_arguments): Likewise.
+
+       * decl.c (grokdeclarator): Remove const and volatile from type after
+       setting constp and volatilep.
+
+       * class.c (finish_struct_1): Don't warn about bool bitfield larger
+       than one bit.
+
+Thu Mar 26 10:25:52 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (convert_nontype_argument): STRIP_NOPS where appropriate.
+
+Thu Mar 26 10:24:05 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * call.c (build_object_call): Complain about ambiguous operator(),
+       rather that crashing.
+       (build_new_op): Likewise.
+       (build_op_delete_call): Likewise.
+
+Thu Mar 26 10:23:24 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * cvt.c (perform_qualification_conversions): Use comp_target_types
+       instead of comp_ptr_ttypes.
+
+Wed Mar 25 16:10:50 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * cp-tree.h (enforce_access): Declare.
+       * call.c (enforce_access): Make it extern, not static.
+       * class.c (alter_access): Use enforce_access; modify code for ISO
+       compliance, rather than ARM rules.
+
+Wed Mar 25 12:10:45 1998  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
+
+       * cp-tree.h: Fix typo.
+
+Wed Mar 25 02:01:02 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-Wed Mar 11 07:31:08 1998  Mark Mitchell  <mmitchell@usa.net>
+       * expr.c (cplus_expand_expr): Only do PCC_STATIC_STRUCT_RETURN thing
+       if (aggregate_value_p (type)).
+
+       * decl2.c (constructor_name_full): Handle TYPENAME_TYPE.
+
+Tue Mar 24 16:12:01 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * tree.c (mapcar): When dealing with a DECL, use it's constant
+       value, if any.
+       * pt.c (lookup_template_class): Don't mangle the names of template
+       classes whose arguments are unknown.
+
+       * pt.c (tsubst_expr): Handle GOTO_STMT correctly.
+
+Tue Mar 24 12:21:55 1998  Benjamin Kosnik  <bkoz@lisa.cygnus.com>
+
+       * decl.c (init_decl_processing): Set TYPE_PRECISON for bools to 1.
+
+Tue Mar 24 12:21:48 1998  Jim Wilson  <wilson@cygnus.com>
+
+        * decl.c (init_decl_processing): Initialize TYPE_MAX_VALUE for
+        boolean_type_node to 1.
+
+Tue Mar 24 10:23:47 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * error.c (dump_expr): Remove unused variable `l'.
+
+       * pt.c (for_each_template_parm): New function, created by
+       converting uses_template_parms.
+       (tree_fn_t): New typedef.
+       (uses_template_parms): Use it.
+       (mark_template_parm): New function.
+       (push_template_decl): Check that the argument list of a partial
+       specialization uses all the template parameters.
+
+       * Make-lang.in (c++filt): Don't delete cxxmain.c after we're done
+       with it; we might want it for debugging.
+       * cp-tree.h (type_unification): Change interface.
+       * class.c (finish_struct_1): Skip nested template types, just like
+       ordinary nested types.
+       (instantiate_type): Use new interface to type_unification.
+       * lex.c (init_lex): Add __sz as opname for sizeof.
+       * method.c (build_overload_scope_ref): New function.
+       (build_overload_int): Handle complex expressions.  Set
+       numeric_output_need_bar if necessary.
+       (build_overload_value): Handle non-PARM_DECL nodes; this
+       routine is now used by build_overload_int.  Remove some
+       assignments to numeric_output_need_bar.  Use
+       build_overload_scope_ref.
+       (build_qualified_name): Note that some template mangled names end
+       with digits, and set numeric_output_need_bar appropriately.  Use
+       build_underscore_int.
+       * pt.c (unify): Change interface.
+       (type_unification_real): Likewise.
+       (determine_specialization): Use new interfaces.
+       (tsubst): Deal gracefully with situations in which the argument
+       vector is not fully filled.
+       (fn_type_unification): Use new interfaces.
+       (type_unification): Likewise.  Remove NOP_EXPR hack.
+       (type_unification_real): Likewise.
+       (unify): Likewise.  Deal with unification of complex expresions.
+
+Mon Mar 23 12:24:37 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * pt.c (complete_template_args): Initialize skip properly.
+
+       * decl.c (make_typename_type): Revert.
+       (make_implicit_typename): Remove.
+       (lookup_name_real): Don't call it.  Call lookup_field if we see a
+       TYPE_DECL from a template base.
+       * search.c (lookup_field): Do implicit typename stuff.
+
+Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
+                          Geoff Noer    <noer@cygnus.com>
+
+       * Makefile.in: Various fixes for building cygwin32 native toolchains.
+       * Make-lang.in: Likewise.
+
+Fri Mar 20 18:07:39 1998  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
+
+       * pt.c (tsubst, TEMPLATE_TEMPLATE_PARM): Simplify.
+
+Fri Mar 20 10:42:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (make_implicit_typename): Rewrite removed code.
+       (make_typename_type): Call it if the type we look up comes from
+       a base that uses template parms.
+
+       * pt.c (complete_template_args): Rewrite.
+       (tsubst, FUNCTION_DECL): Use it.
+
+Fri Mar 20 08:12:43 1998  H.J. Lu  (hjl@gnu.org)
+
+       * semantics.c (finish_asm_stmt): Fix combine strings. Call
+       c_expand_asm_operands () if output_operands, input_operands or
+       clobbers is not NULL_TREE.
+
+Fri Mar 20 00:10:19 1998  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
+
+       * pt.c (complete_template_args): New function.
+       (get_bindings): Deal with specializations of function templates
+       with return type containing parameters from outer class 
+       templates.
+       (tsubst, TEMPLATE_TEMPLATE_PARM): When reducing parameter level,
+       substitute arguments and compose a new type.
+
+Thu Mar 19 19:01:48 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (tsubst): Clear DECL_PENDING_INLINE_INFO for new
+       FUNCTION_DECLs.
+
+Thu Mar 19 11:51:58 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (make_implicit_typename): Lose useless code.
+
+       * call.c (standard_conversion): Handle A* -> const A* properly.
+
+       * pt.c (get_bindings_real): Rename from get_bindings.  Add 
+       check_rettype parm.
+       (get_bindings): Pass 1.
+       (get_bindings_overload): Pass 0.
+
+Wed Mar 19 09:08:12 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (check_explicit_specialization): When reverting a static
+       member function, also remove the `this' parameter from
+       last_function_parms.
+
+Thu Mar 19 02:27:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * pt.c (tsubst_copy, CONST_DECL): Don't bother tsubsting
+       a function context.
+
+       * decl.c (store_bindings): Use free_binding_vecs.
+       (pop_from_top_level): Likewise.
+
+Wed Mar 18 12:41:43 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * decl.c (make_implicit_typename): Only change the type of a 
+       TYPENAME_TYPE.
+
+Wed Mar 18 10:09:51 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * semantics.c: New file, containing routines to perform the
+       semantic phase of parsing.
+       * parse.y: Use it.
+       * pt.c (tsubst_expr): Likewise.
+       * cp-tree.h: Declare the various functions in semantics.c.
+       Provide macros to access _STMT tree nodes.
+       * cp-tree.def: Add ASM_STMT tree node.
+       * Makefile.in, Make-lang.in: Add dependencies on and for
+       semantics.c.
+       
+Wed Mar 18 00:24:10 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * pt.c (push_template_decl): Only check primary templates.
+
+       * pt.c (check_explicit_specialization): Complain about default args
+       in explicit specialization.
+
+       * parse.y (nomods_initdcl0): Also call cp_finish_decl for a 
+       constructor_declarator.
+
+Tue Mar 17 14:44:54 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * typeck2.c (build_x_arrow): Don't crash when an aggregate type
+       has no overloaded operator ->.
+
+       * call.c (build_field_call): Don't crash when presented with a
+       field that is actually a nested type.
+
+       * decl.c (pushtag): Deal with friend class injection in local
+       classes.
+
+       * call.c (build_object_call): Don't crash if OBJ is a
+       pointer-to-member-function.
+
+Tue Mar 17 11:40:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * pt.c (push_template_decl): Complain about template with C linkage,
+       anonymous template class.
+
+Mon Mar 16 12:10:39 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * class.c (pushclass): Only use the mi_matrix stuff #ifdef MI_MATRIX.
+       * search.c: Likewise.
+
+       * lex.c (do_pending_defargs): Only call 
+       maybe_{begin,end}_member_template_processing for FUNCTION_DECLs.
+
+       * parse.y (initdcl0_innards): Move maybeasm back into initdcl0 et al.
+
+Mon Mar 16 10:47:22 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * parse.y: Deal with CONSTRUCTORS in new_initializers.
+
+Mon Mar 16 10:54:21 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * pt.c (tsubst_copy): Deal with BIND_EXPR in a way that more
+       closely mimics the behavior in parse.y.
+       (tsubst_expr): Return the resuting BLOCK when making a tsubst'ing
+       into a compound statement.
+       
+Sun Mar 15 02:07:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cp-tree.h (TEMPLATE_PARMS_FOR_INLINE): New macro.
+       * pt.c (inline_needs_template_parms): New fn.
+       (original_template): New fn.
+       (push_inline_template_parms_recursive): New fn.
+       (maybe_begin_member_template_processing): Use them.
+       (maybe_end_member_template_processing): Likewise.
+       (is_member_or_friend_template): Rename to is_member_template.
+       Member functions of local classes are never member templates.
+
+Sun Mar 15 01:14:22 1998  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
+
+       * lex.c (do_identifier): Handle TEMPLATE_DECL that was
+       added in the class scope to catch redefinition error.
+
+       * pt.c (reduce_template_parm_level): Also copy 
+       the DECL_TEMPLATE_PARMS field.
+
+Sun Mar 15 10:54:08 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * pt.c (tsubst): Clear TYPE_REFERENCE_TO when creating a
         reduced-level template type parameter.
 
+Sun Mar 15 12:26:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * cp-tree.h (struct lang_decl_flags): Add needs_final_overrider.
+       (DECL_NEEDS_FINAL_OVERRIDER_P): New macro.
+       * class.c (override_one_vtable): Set DECL_NEEDS_FINAL_OVERRIDER_P.
+       * decl.c (duplicate_decls): Propagate it.
+       * typeck2.c (abstract_virtuals_error): Use two loops to emit
+       abstract virtual functions and virtual functions which need a
+       final overrider separately.
+       
+Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * lang-specs.h: Properly put brackets around array elements in 
+       initializer.
+
+       * typeck.c (build_binary_op_nodefault): Correctly place parens around
+       && and || in expression.
+
+Thu Mar 12 09:26:04 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * call.c (default_parm_conversions): Remove prototype definition.
+       (build_method_call): Remove unused variable result.
+
+       * cvt.c (ocp_convert): Remove unused variable conversion.
+
+       * decl2.c (ambiguous_decl): Add explicit parameter definition for name.
+
+       * except.c (do_unwind): #if 0 definition of unused variables fcall
+       and next_pc.
+
+       * expr.c (extract_scalar_init): #if 0 prototype and function 
+       definition.
+
+       * init.c (expand_aggr_init_1): Remove unused variable init_type.
+       (build_new_1): Remove unused variable t.
+
+       * pt.c (instantiate_class_template): Remove unused variable newtag;
+       cast called function return value to void.
+       (do_decl_instantiation): Remove unused variables name and fn.
+
+       * tree.c (get_type_decl): Add default return to shut up compiler from
+       complaining control reaches end of non-void function.
+
+       * typeck.c (build_x_conditional_expr): Remove unused variable rval.
+
+Thu Mar 12 09:12:15 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * call.c (default_parm_conversions): Remove prototype definition.
+       (build_method_call): Remove unused variable result.
+       (build_over_call): Add default case in enumeration switch.
+
+Thu Mar 12 08:39:13 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * decl2.c (lang_decode_option): Change j's type to size_t.
+
+       * tree.c (layout_vbasetypes): record_align and desired_align are of
+       type unsigned int; const_size and nonvirtual_const_size likewise.
+
 Wed Mar 11 07:25:20 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * parse.y (new_initializer): Make sure all initializers are
@@ -566,6 +1142,10 @@ Sat Feb  7 16:48:54 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * parse.y (nomods_initdcl0): Add constructor_declarator case.
 
+Fri Feb  6 21:32:25 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config-lang.in (diff_excludes): Use basename only.
+
 Thu Feb  5 19:10:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * tinfo2.cc: Add tinfo for signed char.
@@ -1467,6 +2047,8 @@ Wed Nov 26 01:11:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * decl2.c (delete_sanity): resolve_offset_ref.
 
+       * except.c: Call terminate without caching so many bits.
+
        * except.c (expand_start_catch_block): Fix catching a reference
        to pointer.