OSDN Git Service

2001-11-12 H.J. Lu <hjl@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 1b3cceb..f7b6296 100644 (file)
@@ -1,3 +1,598 @@
+2001-11-12  H.J. Lu <hjl@gnu.org>
+
+       * cp/cvt.c (ocp_convert): Don't warn the address of a weak
+       function is always `true'.
+
+2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cp-lang.c (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
+       LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
+       LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): Override.
+       * cp-tree.h (print_class_statistics): Remove.
+       (cxx_print_statistics, cxx_print_xnode, cxx_print_decl, cxx_print_type,
+       cxx_print_identifier, cxx_set_yydebug): New.
+       * lex.c (set_yydebug): Rename c_set_yydebug.
+       * ptree.c (print_lang_decl, print_lang_type, print_lang_identifier,
+       lang_print_xnode): Rename.
+       * tree.c (print_lang_statistics): Rename.
+
+2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * class.c (dump_array): Fix format specifier warning.
+
+2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cp-lang.c (LANG_HOOKS_NAME): Override.
+       (struct lang_hooks): Constify.
+       * lex.c (cxx_init_options): Update.
+       (lang_identify): Remove.
+       * parse.y (language_string): Remove.    
+
+2001-11-08  Andreas Franck  <afranck@gmx.de>
+
+       * Make-lang.in (CXX_INSTALL_NAME, GXX_CROSS_NAME,
+       DEMANGLER_CROSS_NAME): Handle program_transform_name the way
+       suggested by autoconf.
+       (GXX_TARGET_INSTALL_NAME, CXX_TARGET_INSTALL_NAME): Define.
+       (c++.install-common): Use the transformed target alias names.
+
+2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * Make-lang.in: Update.
+       * cp-lang.c: Include langhooks-def.h.
+
+2001-11-04  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (tsubst_copy): Call tsubst for TYPEOF_EXPR.
+
+2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * lex.c (copy_lang_type): Add static prototype.
+
+2001-11-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (unify): Handle SCOPE_REF.
+
+2001-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.c (cp_copy_res_decl_for_inlining): Adjust
+       DECL_ABSTRACT_ORIGIN for the return variable.
+
+2001-10-31  Zack Weinberg  <zack@codesourcery.com>
+
+       *  Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
+
+2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * ChangeLog.1, ChangeLog.2, ChangeLog, class.c, decl2.c, search.c,
+       semantics.c, spew.c: Fix spelling errors.
+
+2001-10-27  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * decl2.c (validate_nonmember_using_decl): Handle NAMESPACE_DECL.
+
+2001-10-25  Zack Weinberg  <zack@codesourcery.com>
+
+       * cp-lang.c: Redefine LANG_HOOKS_CLEAR_BINDING_STACK to
+       pop_everything.
+
+Tue Oct 23 14:00:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * cp-lang.c (cxx_get_alias_set): New function.
+       Point LANG_HOOKS_GET_ALIAS_SET to it.
+
+2001-10-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * cp-tree.def (UNBOUND_CLASS_TEMPLATE): New tree node.
+       * cp-tree.h (make_unbound_class_template): Prototype new function.
+       * decl.c (make_unbound_class_template): New function.
+       * decl2.c (arg_assoc_template_arg): Handle UNBOUND_CLASS_TEMPLATE.
+       * error.c (dump_type): Likewise.
+       * mangle.c (write_type): Likewise.
+       * parse.y (template_parm): Likewise.
+       (template_argument): Use make_unbound_class_template.
+       * pt.c (convert_template_argument): Handle UNBOUND_CLASS_TEMPLATE.
+       (tsubst): Likewise.
+       (tsubst_copy): Likewise.
+       (unify): Likewise.
+       * tree.c (walk_tree): Likewise.
+       * typeck.c (comptypes): Likewise.
+
+2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * xref.c (GNU_xref_member): Use safe-ctype macros and/or fold
+       extra calls into fewer ones.
+
+2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
+       Warn when merging inline with attribute noinline.
+       (start_decl, start_function): Warn if inline and attribute
+       noinline appear in the same declaration.
+
+2001-10-16  H.J. Lu <hjl@gnu.org>
+
+       * cp-tree.h (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): Defined
+       for tree checking disabled.
+
+2001-10-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * cp-tree.h (VFIELD_NAME_FORMAT) [NO_DOLLAR_IN_LABEL &&
+       NO_DOT_IN_LABEL]: Adjust to match VFIELD_NAME.
+
+2001-10-15  Richard Sandiford  <rsandifo@redhat.com>
+
+       * pt.c (UNIFY_ALLOW_MAX_CORRECTION): Define.
+       (unify): Only handle MINUS_EXPR specially if the above flag is set
+       and the subtracted constant is 1.  Clear the flag on recursive calls.
+       Set it when unifying the maximum value in an INTEGER_TYPE's range.
+
+2001-10-15  Richard Sandiford  <rsandifo@redhat.com>
+
+       * decl.c (bad_specifiers): Don't allow exception specifications
+       on any typedefs.
+
+2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cp/lex.c (init_cp_pragma): Similarly.
+
+2001-10-13  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (lookup_template_class): Build complete template arguments
+       for BOUND_TEMPLATE_TEMPLATE_PARM.
+
+2001-10-12  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * cp-tree.h (TYPE_BINFO): Update comment.
+       (BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK): New macro.
+       (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Use template_info.
+       (TYPENAME_TYPE_FULLNAME): Use TYPE_FIELDS.
+       (copy_type): Prototype new function.
+       * lex.c (copy_lang_decl): Gather tree node statistics.
+       (copy_lang_type): New function.
+       (copy_type): Likewise.
+       (cp_make_lang_type): Create lang_type for
+       BOUND_TEMPLATE_TEMPLATE_PARM.  Set TYPE_BINFO for TYPENAME_TYPE
+       and BOUND_TEMPLATE_TEMPLATE_PARM.
+       * pt.c (tsubst): Use copy_type instead of copy_node.
+       * search.c (lookup_field_1): Ignore TYPENAME_TYPE.
+
+2001-10-12  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (determine_specialization): Ignore functions without
+       DECL_TEMPLATE_INFO.
+
+2001-10-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR g++/4476
+       * typeck2.c (abstract_virtuals_error): Ignore incomplete classes.
+
+2001-10-11  Jason Merrill  <jason_merrill@redhat.com>
+
+       * typeck2.c (store_init_value): Don't re-digest a bracketed
+       initializer.
+
+       * class.c (finish_struct_anon): Use TYPE_ANONYMOUS_P instead of
+       ANON_AGGR_TYPE_P.
+
+2001-10-11  Richard Henderson  <rth@redhat.com>
+
+       * class.c (build_vtable_entry_ref): Create a VTABLE_REF instead
+       of an asm statement.
+       (build_vtbl_ref_1): Split out from build_vtbl_ref.
+       (build_vfn_ref): Use it to handle vtable descriptors before
+       calling build_vtable_entry_ref.
+       * decl2.c (output_vtable_inherit): Use assemble_vtable_inherit.
+
+2001-10-10  Richard Henderson  <rth@redhat.com>
+
+       * parse.y (asm_operand): Allow named operands.
+       * semantics.c (finish_asm_stmt): Tweek for changed location
+       of the operand constrant.
+
+2001-10-09  Jason Merrill  <jason_merrill@redhat.com>
+
+       * call.c (standard_conversion): Add bad conversion between
+       integers and pointers.
+       (convert_like_real): Don't use convert_for_initialization for bad
+       conversions; complain here and use cp_convert.
+       (build_over_call): Don't handle bad conversions specially.
+       (perform_implicit_conversion): Allow bad conversions.
+       (can_convert_arg_bad): New fn.
+       * cp-tree.h: Declare it.
+       * typeck.c (convert_for_assignment): Use it.
+       (ptr_reasonably_similar): Any target type is similar to void.
+
+2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Make-lang.in (CXX_OBJS): Added cp-lang.o.
+       (cp/cp-lang.o): New rule.
+       * cp-tree.h: Declare hooks.
+       * tree.c: Make hooks non-static.
+       (init_tree): Don't initialize hooks here.
+       * lex.c: Likewise.  Move definition of lang_hooks to...
+       * cp-lang.c: ... new file.
+
+2001-10-08  Richard Henderson  <rth@redhat.com>
+
+       * cp-tree.h (struct lang_decl_flags): Remove declared_inline.
+       (DECL_DECLARED_INLINE_P): Use the bit in struct c_lang_decl.
+
+2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * class.c (build_vtable_entry_ref): Const-ify.
+       * decl.c (predefined_identifier,
+       initialize_predefined_identifiers): Likewise.
+       * init.c (build_new_1): Likewise.
+       * lex.c (cplus_tree_code_type, cplus_tree_code_length, resword):
+       Likewise.
+
+2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       * optimize.c (struct inline_data): Moved to ../tree-inline.c.
+       (INSNS_PER_STMT): Likewise.
+       (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
+       (copy_body, initialize_inlined_parameters): Likewise.
+       (declare_return_variable, inlinable_function_p): Likewise.
+       (expand_call_inline, expand_calls_inline): Likewise.
+       (optimize_inline_calls, clone_body): Likewise.
+       * tree.c (walk_tree): Moved to ../tree-inline.c.
+       (walk_tree_without_duplicates): Likewise.
+       (copy_tree_r, remap_save_expr): Likewise.
+
+2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
+       (cp/pt.o, cp/semantics.o, cp/optimize.o): Likewise.
+       * cp-tree.h (lang_decl): Moved inlined_fns to tree_decl.
+       (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved to ../tree.h.
+       (flag_inline_trees): Moved declaration to ../tree-inline.h.
+       (walk_tree): Moved declaration to ../tree-inline.h.
+       (walk_tree_without_duplicates, copy_tree_r): Likewise.
+       (remap_save_expr): Likewise.
+       * decl.c: Include tree-inline.h.
+       (lang_mark_tree): Don't mark inlined_fns.
+       * decl2.c (flag_inline_trees): Moved defn to ../tree-inline.c.
+       * optimize.c: Include tree-inline.h.
+       (optimize_inline_calls): Move declaration to ../tree.h, as
+       non-static.
+       (remap_decl): Use language-independent constructs and hooks.
+       (remap_block, copy_body_r, declare_return_variable): Likewise.
+       (inlinable_function_p): Likewise.  Don't test for
+       DECL_LANG_SPECIFIC before DECL_INLINED_FNS as inlined_fns is
+       no longer language-specific.
+       (optimize_inline_calls): Likewise.  Make it non-static.  Moved
+       call of dump_function to...
+       (optimize_function): Here...
+       (clone_body): New function, extracted from...
+       (maybe_clone_body): ... here.  Build decl_map locally and pass
+       it on to clone_body.
+       * pt.c, semantics.c: Include tree-inline.h.
+       * tree.c: Likewise.
+       (cp_walk_subtrees): New language-specific hook for tree inlining.
+       (cp_cannot_inline_tree_fn, cp_add_pending_fn_decls,
+       cp_is_overload_p, cp_auto_var_in_fn_p,
+       cp_copy_res_decl_for_inlining): Likewise.
+       (walk_tree): Move language-specific constructs into...
+       (cp_walk_subtrees): this new function.
+       (copy_tree_r): Use language-independent constructs and hooks.
+       (init_tree): Initialize tree inlining hooks.
+       (remap_save_expr): Adjust prototype so that the declaration
+       does not require the definition of splay_tree.
+
+2001-10-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * rtti.c (get_tinfo_decl): Call typeinfo_in_lib_p with the type used
+       to build the declaration instead of the declaration itself.
+
+2001-10-02  Jason Merrill  <jason_merrill@redhat.com>
+
+       * decl2.c (cxx_decode_option): Add 'else'.
+
+       * spew.c (end_input): No longer static.
+       * cp-tree.h: Declare it.
+       * parse.y (datadef): Add "error END_OF_SAVED_INPUT" expansion.
+
+2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * call.c (build_over_call), typeck.c (build_function_call_real):
+       Pass type attributes to check_function_format rather than name or
+       assembler name.  Don't require there to be a name or assembler
+       name to check formats.
+
+2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * decl.c (init_decl_processing): Don't call
+       init_function_format_info.  Initialize lang_attribute_table
+       earlier.
+       (builtin_function): Call decl_attributes.
+       (insert_default_attributes): New.
+
+2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
+
+       * decl.c (grokdeclarator): Copy array typedef handling from C
+       frontend.
+
+       * decl.c (grokdeclarator): Copy too-large array handling from C
+       frontend.
+
+2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config-lang.in (target_libs): Added target-gperf, so that we
+       don't try to build it if C++ is disabled.
+
+2001-09-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * Make-lang.in (CXX_OBJS): Take out cp/errfn.o.
+       (cp/errfn.o): Delete rule.
+       (cp/error.o): Depend on flags.h.
+       * errfn.c: Delete file.
+       * cp-tree.h: Declare warn_deprecated.  Remove definitions of
+       TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS,
+       and TFF_TEMPLATE_DEFAULT_ARGUMENTS. #define cp_error, cp_warning,
+       cp_pedwarn, and cp_compiler_error to error, warning, pedwarn, and
+       internal_error respectively.  Make cp_deprecated into a macro.
+       Don't define cp_printer typedef or declare cp_printers.
+       * error.c: Include flags.h.
+       Delete: struct tree_formatting_info, print_function_argument_list,
+       print_declaration, print_expression, print_function_declaration,
+       print_function_parameter, print_type_id, print_cv_qualifier_seq,
+       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, and definition of cp_printers.
+       (locate_error): New function.
+       (cp_error_at, cp_warning_at, cp_pedwarn_at): Moved here and
+       rewritten in terms of locate_error and diagnostic.c.
+       (cp_tree_printer): Rename cp_printer; wire up to *_to_string
+       instead of deleted print_* routines.  Handle %C, %L, %O, %Q also.
+       (init_error): Adjust to match.
+
+Sat Sep 22 09:15:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * Make-lang.in (CXX_C_OBJS): Add attribs.o.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS.
+       (build_vtbl_initializer): Likewise.
+       (build_vfn_ref): New.
+       * cp-tree.h: Declare it.
+       * call.c (build_over_call): Use it.
+       * decl2.c (mark_vtable_entries): Mark FDESC_EXPR.
+       * typeck.c (get_member_function_from_ptrfunc): Mind descriptors.
+
+Fri Sep 21 08:16:19 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * decl.c (grokdeclarator): Use C syntax for attr_flags declaration.
+
+2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       Table-driven attributes.
+       * decl.c: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
+       * decl2.c (cplus_decl_attributes): Only take one attributes
+       parameter.
+       * cp-tree.c (cplus_decl_attributes): Update prototype.
+       * class.c (finish_struct), decl.c (start_decl, start_function),
+       decl2.c (grokfield), friend.c (do_friend), parse.y
+       (parse_bitfield): Update calls to cplus_decl_attributes.
+       * decl.c (grokdeclarator): Take a pointer to a single ordinary
+       attribute list.
+       * decl.h (grokdeclarator): Update prototype.
+       * decl2.c (grokfield): Take a single ordinary attribute list.
+       * friend.c (do_friend): Likewise.
+       * decl.c (shadow_tag, groktypename, start_decl,
+       start_handler_parms, grokdeclarator, grokparms, start_function,
+       start_method), decl2.c (grokfield, grokbitfield, grokoptypename),
+       parse.y (parse_field, parse_bitfield, component_decl_1), pt.c
+       (process_template_parm, do_decl_instantiation): Pass single
+       ordinary attribute lists around.
+       * decl.c (grokdeclarator): Correct handling of nested attributes.
+       Revert the patch
+       1998-10-18  Jason Merrill  <jason@yorick.cygnus.com>
+               * decl.c (grokdeclarator): Embedded attrs bind to the right,
+               not the left.
+       .
+       * cp-tree.h (cp_valid_lang_attribute): Remove declaration
+       (cp_attribute_table): Declare.
+       * decl.c (valid_lang_attribute): Don't define.
+       (lang_attribute_table): Define.
+       (init_decl_processing): Initialize lang_attribute_table instead of
+       valid_lang_attribute.
+       * tree.c (cp_valid_lang_attribute): Remove.
+       (handle_java_interface_attribute, handle_com_interface_attribute,
+       handle_init_priority_attribute): New functions.
+       (cp_attribute_table): New array.
+       * decl2.c (import_export_class): Don't use
+       targetm.valid_type_attribute.
+
+2001-09-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+
+               * Make-lang.in (cp/error.o): Depend on real.h
+               * error.c: #include "real.h"
+
+2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mangle.c (mangle_conv_op_name_for_type): Use concat in lieu of
+       xmalloc/strcpy/strcat.
+
+2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c (warn_extern_redeclared_static, cp_make_fname_decl):
+       Const-ification.
+       * pt.c (tsubst_decl): Likewise.
+
+2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl2.c (lang_f_options): Const-ification.
+       * lex.c (cplus_tree_code_name): Likewise.
+       * spew.c (yyerror): Likewise.
+
+2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/3986
+       * class.c (force_canonical_binfo_r): Check & move an indirect
+       primary base first.
+       (force_canonical_binfo): Check that it's not already
+       canonical.
+       (mark_primary_virtual_base): Remove BINFO parameter.
+       (mark_primary_bases): Adjust, set BINFO_LOST_PRIMARY_P here.
+
+2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Remove TYPE_NONCOPIED_PARTS.
+       * cp-tree.h (CLASSTYPE_INLINE_FRIENDS): Map onto
+       CLASSTYPE_PURE_VIRTUALS.
+       (TYPE_RAISES_EXCEPTIONS): Map onto TYPE_BINFO.
+       * class.c (duplicate_tag_error): Remove TYPE_NONCOPIED_PARTS.
+       (layout_class_type): Don't call fixup_inline_methods here ...
+       (finish_struct_1): ... call it here.
+
+2001-09-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (duplicate_decls): Remove code deadling with
+       DECL_SAVED_INSNS.
+       * decl2.c (finish_file): Likewise.
+       * pt.c (instantiate_decl): Likewise.
+       * semantics.c (expand_body): Don't defer local functions if
+       they wouldn't be deferred for some other reason.  Don't
+       generate RTL for functions that will not be emitted.
+       (genrtl_start_function): Remove code deadling with
+       DECL_SAVED_INSNS.
+       (genrtl_finish_function): Likewise.
+
+2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/4203
+       * call.c (build_over_call): Do not optimize any empty base
+       construction.
+
+2001-08-31  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * error.c (dump_template_decl): Output template parameters
+       together with their specifiers.
+       Output `class' prefix for template template parameter.
+       (dump_decl): Fix formatting.
+
+2001-08-30  Kurt Garloff  <garloff@suse.de>
+
+       * optimize.c (inlinable_function_p): Allow only smaller single
+       functions. Halve inline limit after reaching recursive limit.
+
+2001-08-30  Joern Rennecke <amylaar@redhat.com>
+           Jason Merrill  <jason_merrill@redhat.com>
+
+       * class.c (build_vtable_entry_ref): Subtract in char*, not
+       ptrdiff_t.
+
+2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
+
+       * tree.c (cp_build_qualified_type_real): Use get_qualified_type.
+       (build_cplus_array_type): Use cp_build_qualified_type, not
+       TYPE_MAIN_VARIANT, to get an unqualified version.
+
+       * decl2.c (grok_alignof): Lose.
+       (build_expr_from_tree): Use expr_sizeof and c_alignof_expr.
+       * typeck.c (c_alignof): Lose.
+       * semantics.c (finish_sizeof, finish_alignof): New.
+       * parse.y: Use them.
+       * cp-tree.h: Declare them.
+
+2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
+
+       * pt.c (tsubst_expr): Hand off to the TREE_CHAIN of a statement.
+       Don't loop in COMPOUND_STMT, FOR_STMT or TRY_BLOCK.
+       * tree.c (cp_statement_code_p): A TAG_DEFN is a statement.
+
+2001-08-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * typeck2.c (add_exception_specifier): Only require complete type if
+       not in processing template declaration.
+
+2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c: Cast argument to size_t, not HOST_WIDE_INT, in calls to
+       GNU_xref_start_scope and GNU_xref_end_scope.
+
+       * tree.c (TYPE_HASH): Moved to ../tree.h.
+
+2001-08-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * cvt.c (convert_to_void): Preserve TREE_SIDE_EFFECTS
+       on COMPOUND_EXPRs.
+
+2001-08-14  Richard Henderson  <rth@redhat.com>
+
+       * class.c, cp-tree.h (build_vfn_ref): Remove.
+       * call.c, rtti.c: Replace all refernces with build_vtbl_ref.
+
+2001-08-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * call.c (build_over_call): Mark COMPOUND_EXPRs generated for
+       empty class assignment as having side-effects to avoid
+       spurious warnings.
+
+2001-08-13  Zack Weinberg  <zackw@panix.com>
+
+       * Make-lang.in (cp/except.o): Add libfuncs.h to dependencies.
+       * except.c: Include libfuncs.h.
+
+2001-08-11  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+
+       * decl.c (grokdeclarator): Clarify diagnostic message.
+
+2001-08-13  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * decl2.c (do_nonmember_using_decl): Replace using directive
+       with using declaration in the error message.
+
+2001-08-11  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (maybe_fold_nontype_arg): Use TREE_TYPE of ARG as the
+       criterion to avoid rebuilding expression tree instead of
+       processing_template_decl.
+
+2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
+
+       Support named return value optimization for inlines, too.
+       * decl.c (finish_function): Nullify returns here.
+       * semantics.c (genrtl_start_function): Not here.
+       (cp_expand_stmt): Don't mess with CLEANUP_STMTs.
+       (nullify_returns_r): No longer static.  Just clear RETURN_EXPR.
+       Also nullify the CLEANUP_STMT for the nrv.
+       * cp-tree.h: Declare it.
+       * optimize.c (declare_return_variable): Replace the nrv with the
+       return variable.
+       * typeck.c (check_return_expr): Be more flexible on alignment check.
+       Ignore cv-quals when checking for a matching type.
+
+2001-08-09  Richard Henderson  <rth@redhat.com>
+
+       * decl2.c (finish_objects): Use target hooks instead of
+       assemble_constructor and assemble_destructor.
+
+2001-08-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * g++spec.c (lang_specific_driver): Quote argument after `-Xlinker'.
+
+2001-08-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/3820
+       Stop using TYPE_NONCOPIED_PARTS.
+       * call.c (build_over_call): Be careful when copy constructing
+       or assigning to an empty class.
+       * class.c (check_bases_and_members): It has a
+       COMPLEX_ASSIGN_REF if it has a vptr.
+       (layout_class_type): Don't add empty class padding to
+       TYPE_NONCOPIED_PARTS.
+       (finish_struct_1): Don't add the VFIELD either.
+       * cp-tree.h (TYPE_HAS_TRIVIAL_INIT_REF): Mention _copy_
+       initialization.
+
+2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
+
+       * tree.c (walk_tree): Walk siblings even if !walk_subtrees.
+
 2001-08-06  Richard Henderson  <rth@redhat.com>
 
        * decl2.c (finish_objects): Pass a symbol_ref and priority to
 
 2001-07-30  Andreas Jaeger  <aj@suse.de>
 
-        * decl2.c: Remove unused var global_temp_name_counter.
+       * decl2.c: Remove unused var global_temp_name_counter.
 
 2001-07-28  Richard Henderson  <rth@redhat.com>
 
        * NEWS: Document ABI changes from GCC 3.0.
 
 2001-07-18  Xavier Delacour <xavier@fmaudio.net>,
-            Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+           Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
        * NEWS (Changes in GCC 3.0): Fix typo.
 
 2001-05-14  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * decl.c (duplicate_decls): Suppress warning about duplicate
-        decls if the first decl is a friend.
+       decls if the first decl is a friend.
 
 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
 
 
 2001-04-30  Richard Henderson  <rth@redhat.com>
 
-        * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations.
+       * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations.
        * decl.c: Likewise.
 
 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
@@ -1803,7 +2398,7 @@ Thu Apr  5 16:54:29 2001  J"orn Rennecke <amylaar@redhat.com>
        (inlinable_function_p): Likewise, fix typo in comment,
        function is not inlinable if it already inlined function currently
        being optimized.
-       (expand_call_inline): Add fn to inlined_fns if neccessary.
+       (expand_call_inline): Add fn to inlined_fns if necessary.
        (optimize_function): Initialize inlined_fns.
        Save inlined_fns into DECL_INLINED_FNS after expanding inlines.
        * decl.c (mark_inlined_fns): New function.
@@ -6363,7 +6958,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (DECL_USE_VTT_PARM): Likewise.
        (DECL_NEEDS_VTT_PARM_P): Likewise.
        (get_vtt_name): Declare.
-       (build_artifical_parm): Likewise.
+       (build_artificial_parm): Likewise.
        (fixup_all_virtual_upcast_offsets): Likewise.
        (expand_indirect_vtbls_init): Remove.
        * call.c (build_new_method_call): Pass the vtt to subobject
@@ -7581,7 +8176,7 @@ Sat Apr 15 16:00:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
 
-       * decl2.c: Make flag_honor_std dependant on ENABLE_STD_NAMESPACE.
+       * decl2.c: Make flag_honor_std dependent on ENABLE_STD_NAMESPACE.
 
 2000-04-05  Mark Mitchell  <mark@codesourcery.com>
 
@@ -8408,7 +9003,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (build_over_call): Likewise. Don't warn about dubious
        conversions here. Adjust convert_default_arg calls.
        (convert_default_arg): Add context parameters for diagnostics.
-       Pass throught to convert_like_with_context.
+       Pass through to convert_like_with_context.
        * cp-tree.h (convert_default_arg): Add context parameters.
        (dubious_conversion_warnings): Prototype new function.
        * typeck.c (convert_arguments): Adjust convert_default_arg call.
@@ -9437,8 +10032,8 @@ Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
        (expand_attr_desc): Likewise.
        (expand_generic_desc): Likewise.
 
-       * tinfo.cc (__GXX_ABI_VERSION): Test value and existance.
-       * tinfo.h (__GXX_ABI_VERSION): Test value and existance.
+       * tinfo.cc (__GXX_ABI_VERSION): Test value and existence.
+       * tinfo.h (__GXX_ABI_VERSION): Test value and existence.
 
 2000-01-23  Mark Mitchell  <mark@codesourcery.com>