OSDN Git Service

* call.c (enforce_access): Assert we get a binfo.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 6a679d2..65ca03d 100644 (file)
+2003-06-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * call.c (enforce_access): Assert we get a binfo.
+       (build_op_delete_call): Pass a binfo to
+       perform_or_defer_access_check.
+       * class.c (alter_access): Likewise.
+       * decl.c (make_typename_type): Likewise.
+       (make_unbound_class_template): Likewise.
+       * lex.c (do_identifier): Likewise.
+       * method.c (hack_identifier): Likewise.
+       * parser.c (cp_parser_lookup_name): Likewise.
+       * search.c (lookup_member): Likewise. Move IDENTIFIER_CLASS_VALUE
+       test.
+       * semantics.c (finish_non_static_data_member): Likewise.
+       (perform_or_defer_access_check): Expect a binfo.
+       * typeck.c (comptypes): Expect types.
+
+       * mangle.c (find_substitution): Don't pass a non-type to same_type_p
+       * friend.c (make_friend_class): Likewise.
+       * pt.c (check_default_tmpl_args): Likewise.
+       (lookup_template_class): Likewise.
+
+Tue Jun 24 15:30:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * method.c (thunk_labelno): Move outside ifdef block to make garbage
+       collector happy.
+
+Tue Jun 24 13:52:34 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * class.c (build_vtable): Make vtables.
+       * cp-tree.h (DECL_VTABLE_OR_VTT_P): New macro.
+       * decl2.c (output_vtable_inherit): Rename to ...
+       (prepare_assemble_variable): ... this one; change interface.
+       (maybe_emit_vtables): Do not call output_vtable_inherit.
+       * cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Define.
+       * cp-tree.h (prepare_assemble_variable): New.
+
+2003-06-23  Andrew Pinski <pinskia@physics.uc.edu>
+
+       * method.c: add prototype for make_alias_for_thunk.
+       (thunk_labelno, make_alias_for_thunk): only define
+       if ASM_OUTPUT_DEF is defined.
+
+2003-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * method.c (thunk_labelno): New variable.
+       (make_alias_for_thunk): New function.
+       (use_thunk): Use it if defined ASM_OUTPUT_DEF.  Put the thunk
+       into the same section as the function it is calling.
+       Include gt-cp-method.h.
+       * Make-lang.in (gt-cp-method.h): Depend on s-gtype.
+       (cp/method.o): Depend on gt-cp-method.h.
+       * config-lang.in (gtfiles): Add $(srcdir)/cp/method.c.
+
+Mon Jun 23 19:41:27 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * decl.c (register_dtor_fn): Mark cleanup as used.
+       * decl2.c (mark_vtable_entries): Skip nops.
+       * rtti.c (get_tinfo_ptr): Mark tinfo as used.
+       (build_dynamic_cast_1): Likewise.
+       (tinfo_base_init): Likewise.
+       (emit_tinfo_decl): Likewise.
+
+2003-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * mangle.c (hash_type): Val is the TREE_LIST itself, not a pointer
+       to it.
+
+2003-06-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       PR c++/10784
+       * call.c (joust): Warn about choosing conversion sequence only if
+       -Wconversion.
+
+2003-06-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       PR c++/10864
+       * call.c (op_error): Tidy.
+       * error.c (dump_expr): Properly format 'T()' when T is an
+       aggregate type.
+
+2003-06-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       PR c++/10915
+       * decl.c (grok_op_properties): Warn possible confusing conversion
+       only if -Wconversion.
+
+2003-06-20  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10749
+       * parser.c (cp_parser_class_head): See through dependent names
+       when parsing a class-head.
+
+       PR c++/10845
+       * pt.c (try_class_unification): Correct handling of member class
+       templates.
+
+2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * semantics.c (genrtl_finish_function): Adjust
+       expand_function_end call.
+
+2003-06-19  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10939
+       * pt.c (tsubst_decl): Do not try to substitute into non-dependent
+       functions.
+       (value_dependent_expression_p): Correct logic for FUNCTION_DECLs.
+
+       PR c++/9649
+       * cp-tree.h (pushdecl_class_level): Change prototype.
+       (push_class_level_binding): Likewise.
+       * decl.c (add_binding): Reject duplicate static data members.
+       (pushdecl_class_level): Return a value indicating whether or not
+       the binding was valid.
+       (push_class_level_binding): Likewise.
+       * semantics.c (finish_member_declaration): Don't keep invalid
+       declarations.
+
+       PR c++/11041
+       * call.c (initialize_reference): Do not use cp_finish_decl to emit
+       temporary variables.
+       * cp-tree.h (static_aggregates): Declare.
+       (pushdecl_top_level_and_finish): Likewise.
+       * decl.c (pushdecl_top_level_1): New function.
+       (pushdecl_top_level): Use it.
+       (pushdecl_top_level_and_finish): New function.
+       (initialize_local_var): Remove redundant code.
+       (cp_finish_decl): Remove support for RESULT_DECLs.  Don't check
+       building_stmt_tree.
+       * decl.h (static_aggregates): Remove.
+       * decl2.c (get_guard): Use pushdecl_top_level_and_finish.
+       * rtti.c (get_tinfo_decl): Use pushdecl_top_level_and_finish.
+       (tinfo_base_init): Likewise.
+       
+2003-06-19  Matt Austern  <austern@apple.com>
+
+       PR c++/11228
+       * init.c (build_zero_init): Assert that number of array elements
+       is an integer constant.
+       (build_default_init) Don't use build_zero_init for arrays with
+       variable number of elements.
+       
+2003-06-19  Andreas Jaeger  <aj@suse.de>
+
+       * cp-tree.h: Remove duplicated declarations.
+
+2003-06-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * pt.c: Convert to ISO C.
+       * semantics.c: Convert to ISO C.
+
+2003-06-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (comp_except_specs, compparms, cp_has_mutable_p,
+       at_least_as_qualified_p, more_qualified_p): Return bool.
+       * typeck.c: ANSIFY function definitions.
+       (comp_array_types): Take redeclaration bool parameter.
+       (comptypes): Rearrange STRICT handling.
+       (at_least_as_qualified_p, more_qualified_p,
+       comp_cv_qualification): Cache cv quals.
+       (compparms): Rearrange loop.
+
+2003-06-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (COMPARE_RELAXED): Rename to ...
+       (COMPARE_DERIVED): ... here. Adjust comment.
+       (resolve_typename_type_in_current_instantiation): Remove.
+       (cp_tree_equal, comptypes): Return a bool.
+       * cvt.c (convert_to_reference): Adjust comptypes call.
+       * pt.c (template_args_equal, unify,): Adjust cp_tree_equal call.
+       (resolve_typename_type_in_current_instantiation): Remove.
+       * tree.c (cp_tree_equal): Return bool. Cope with TEMPLATE_DECLs and
+       IDENTIFIER_NODEs. Abort if undeciderable. Adjust recursive
+       calls. Refactor code.
+       * typeck.c (comp_array_types): Return bool. Lose callback.
+       parameter. Adjust cp_tree_equal calls.
+       (comptypes): Return bool. Adjust strict handling. Remove relaxed
+       enumeration and java type handling. Deal with typename types here.
+       Adjust recursive and cp_tree_equals calls. Adjust base and derived
+       checking.
+       (comp_target_types): Remove unreachable code. Adjust
+       same_or_base_type_p calls.
+       (ptr_reasonably_similar): Adjust base and derived check.
+
+       * typeck.c (maybe_warn_about_returning_address_of_local): Remove
+       unused calculation.
+       (check_return_expr): Adjust error messages.
+       * cp-tree.def (SCOPE_REF): Correct comment.
+
+2003-06-17  Mark Mitchell  <mark@codesourcery.com>
+
+       * mangle.c (mangle_conv_op_name_for_type): Correct sprintf format
+       string again.
+
+2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
+
+       * optimize.c (dump_function): Form complete flag name by
+       prefixing 'fdump-' to string returned by dump_flag_name().
+
+2003-06-17  Mark Mitchell  <mark@codesourcery.com>
+
+       * mangle.c (mangle_conv_op_name_for_type): Correct sprintf format
+       string.
+
+2003-06-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/10929
+       * decl.c (grokfndecl): Don't mark a function inline for
+       -finline-functions if it isn't defined.
+
+2003-06-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10712
+       * class.c (handle_using_decl): Robustify.
+
+       PR c++/11105
+       * cp-tree.h (DECL_CONV_FN_TYPE): New method.
+       * mangle.c (struct globals): Remove internal_mangling_p.
+       (write_unqualified_name): Use DECL_CONV_FN_TYPE.
+       (write_template_parm): Don't write out the level number.
+       (conv_type_names): New variable.
+       (hash_type): New function.
+       (compare_type): Likewise.
+       (mangle_conv_op_name_for_type): Don't try to mangle conversion
+       operator names.
+       * search.c (lookup_conversion_operator): New function.
+       (lookup_fnfields_1): Use it.
+
+2003-06-17  Andreas Jaeger  <aj@suse.de>
+
+       * except.c: Remove duplicate declaration of push_eh_cleanup.
+
+       * call.c: Remove extra declaration of inhibit_warnings.
+
+2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       2003-06-16  Jens-Michael Hoffmann  <jensmh@gmx.de>
+       * mangle.c: Convert to ISO C.
+
+2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cp/decl.c, cp/pt.c, cp/search.c, cp/tree.c: Don't use the PTR
+       macro.
+
+2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * tree.c: Convert to ISO C.
+
+2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cp-tree.h: Follow spelling conventions.
+       * mangle.c: Likewise.
+       * method.c: Likewise.
+       * parser.c: Likewise.
+
+2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * decl.c (start_function): Adjust init_function_start call.
+       * method.c (use_thunk): Likewise.
+       * semantics.c (genrtl_start_function): Likewise.
+
+2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Make-lang.in: Remove c-options.o.
+
+2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * lex.c: Convert to ISO C.
+
+       2003-05-19  Jens-Michael Hoffmann  <jensmh@gmx.de>
+       * init.c: removes use of PARAMS macro.  Use ISO style function
+       declarations.  (Not copyright-significant change.)
+
+       * rtti.c: Remove PARAMS.
+
+       * typeck2.c: Convert to ISO C.
+
+2003-06-12  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10635
+       * typeck.c (build_c_cast): Check that the destination type is
+       complete.
+
+2003-06-11  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10432
+       * cp-tree.h (finish_declarator): Remove.
+       * decl.c (cp_finish_decl): Make sure to pop_nested_class even for
+       erroneous declarations.
+       * semantics.c (finish_declarator): Remove.
+
+2003-06-11  Roger Sayle  <roger@eyesopen.com>
+
+       * decl2.c (generate_ctor_or_dtor_function): Avoid expanding a
+       global static constructor/destructor if it will be empty, i.e.
+       either doesn't call any ctors/dtors or only calls pure or const
+       ctors/dtors.
+
+2003-06-11  Mark Mitchell  <mark@codesourcery.com>
+
+       * mangle.c (tm_p.h): Include it.
+       * Make-lang.in (cp/mangle.o): Depend on $(TM_P_H).
+
+       PR c++/11131
+       * tree.c (cp_cannot_inline_fn): Check for "inline" before
+       instantiation.
+
+2003-06-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/10968
+       * pt.c (mark_decl_instantiated): Clear DECL_COMDAT.
+
+2003-06-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * decl.c (start_cleanup_fn): Move static 'counter' out, mark with GTY.
+       (start_cleanup_cnt): New.
+
+2003-06-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/11131
+       * cp-tree.h (template_for_substitution): Declare.
+       * decl2.c (mark_used): Use it when figuring out whether or not a
+       function is inline.
+       * pt.c (template_for_substitution): Give it external linkage.
+       * tree.c (cp_cannot_inline_tree_fn): Instantiate as early as
+       possible.
+
+2003-06-09  Zack Weinberg  <zack@codesourcery.com>
+
+       PR 8861
+       * mangle.c (write_real_cst): New function.  Implement
+       ABI-compliant mangling of floating-point literals when
+       -fabi-version>=2; provide backward compatibility with 3.3 when
+       -fabi-version=1 (with warning).  Clarify commentary.
+       (write_template_arg_literal): Use write_real_cst.
+
+2003-06-07  Andreas Jaeger  <aj@suse.de>
+
+       * cp/decl.c (xref_tag): Remove undefined macro NONNESTED_CLASSES.
+
+2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cp-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
+       (LANG_HOOKS_HANDLE_OPTION): Override.
+       * cp-tree.h (cxx_init_options): Update.
+       * lex.c (cxx_init_options): Update.
+
+Thu Jun  5 18:33:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * Make-lang.in:  Add support for stageprofile and stagefeedback
+
+2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * decl.c (grokdeclarator): Error_mark_node in, error_mark_node out.
+
+2003-06-04  Andreas Jaeger  <aj@suse.de>
+
+       * g++spec.c (lang_specific_driver): Remove ALT_LIBM usage.
+
+2003-06-03  Jason Merrill  <jason@redhat.com>
+
+       * cp/cp-tree.h (CP_AGGREGATE_TYPE_P): Accept vectors.
+
+       * cp/decl.c (reshape_init): Handle vectors.
+
+       * testsuite/g++.dg/init/array10.C: New.
+
+2003-06-03  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10940
+       * pt.c (check_explicit_specialization): Check for 'static'
+       earlier.
+
+2003-05-31  Diego Novillo  <dnovillo@redhat.com>
+
+       * class.c (dump_array): Call CONSTRUCTOR_ELTS to access
+       the operand of a CONSTRUCTOR node.
+
+2003-05-31  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * decl.c (cp_binding_level::this_entity): Rename from this_class.
+       (cxx_scope_descriptor): New function.
+       (cxx_scope_debug): Likewise.
+       (push_binding_level): Use it.
+       (pop_binding_level): Likewise.
+       (suspend_binding_level): Likewise.
+       (resume_binding_level): Likewise.
+       (pushlevel_class): Adjust use of this_class.
+       (pushtag): Likewise.
+       (lookup_name_real): Likewise.
+       (global_scope_name): New variable.
+       (initialize_predefined_identifiers): Initialize it.
+       (push_namespace): Use it.
+       (make_cxx_scope): New function.
+       (pushlevel): Use it.
+       (pushlevel_class): Likewise.
+       (push_binding_level): Simplify.  Loose the last two arguments.
+       (make_binding_level): Remove.
+       (initial_push__namespace_scope): New function.
+       (push_namespace): Use it.  Simplify.
+       (cxx_init_decl_processing): Likewise.
+       (declare_namespace_level): Remove.
+
+2003-05-31  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10956
+       * pt.c (instantiate_decl): Don't use full template arguments if
+       we are dealing with specializations.
+
+2003-05-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (ENABLE_SCOPE_CHECKING): Rename from DEBUG_BINDING_LEVELS.
+       (binding_depth): Unconditionally define.
+       (is_class_level): Likewise.
+       (indent): Likewise.  Take an indenting parameter.
+       (push_binding_level): Remove conditional definittion.
+       (pop_binding_level): Likewise.
+       (suspend_binding_level): Likewise.
+       (resume_binding_level): Likewise.
+       (pushlevel): Likewise.
+       (pushlevel_class): Likewise.
+       (poplevel_class): Likewise.
+       (pop_everything): Likewise.
+
+2003-05-27  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * name-lookup.h (global_scope_p): New macro.
+       * decl.c (pop_binding_level): Use it.  Don't refer directly to
+       global_binding_level.
+       (suspend_binding_level): Likewise.
+       (global_bindings_p): Likewise.
+       (print_other_binding_stack): Likewise.
+       (print_binding_stack): Likewise.
+       (maybe_push_to_top_level): Likewise.
+       (pushdecl_namespace_level): Likewise.
+       (cxx_init_decl_processing): Likewise.
+       (start_decl): Likewise.
+       (cp_finish_decl): Likewise.
+       (start_function): Likewise.
+       (global_binding_level): Remove.
+
+2003-05-25  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * parser.c (cp_parser_explicit_instantiation): Restore old
+       access before template instantiation.
+
+2003-05-23  Geoffrey Keating  <geoffk@apple.com>
+
+       * lang-specs.h: Use -o to specify preprocessor's output file.
+       Make -no-integrated-cpp work when building PCH files.
+
+2003-05-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10682
+       * pt.c (instantiate_class_template): Use DECL_ARTIFICIAL to
+       check for implicitly created typedef to an enum.
+
+2003-05-21  Jason Merrill  <jason@redhat.com>
+
+       * init.c (build_vec_delete): Copy the address into a temporary
+       variable before calling build_vec_delete_1.
+       * decl2.c (delete_sanity): Don't call stabilize_reference.
+
+2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * pt.c (register_specialization): Update the decl's location,
+       if necessary.
+       (check_explicit_specialization): Likewise.
+
+2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * error.c (dump_expr): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX.
+
+2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR c++/9738
+       * decl.c (duplicate_decls): Re-invoke make_decl_rtl
+       if the old decl had instantiated DECL_RTL.
+       (Base on Richard Henderson 2003-05-13 patch to c-decl.c).
+
+2003-05-19  Matt Austern  <austern@apple.com>
+
+       * lang-options.h: Document -Wno-invalid-offsetof
+       * typeck.c (build_class_member_access_expr): Don't complain about
+       (Foo *)p->x for non-POD Foo if warn_invalid_offset is zero.
+
+2003-05-18 Andrew Pinski <pinskia@physics.uc.edu>
+
+       * name-lookup.c (free_binding_entry): fix where the GTY markers are.
+       (binding_entry_make): Make entry->chain NULL after getting an entry.
+       fix the spelling of chain in a comment.
+       (binding_table_free): speed up by having temporary variable.
+       (binding_table_new): set table->chain to be NULL after allocating
+       a table.
+       (cxx_binding_make): use gcc_alloc instead of ggc_alloc_cleared and set
+       binding->previous to NULL after getting an binding for speed.
+
+2003-05-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * cp-tree.h (struct lang_type_class): Replace data member tags
+       with hash-table nested_udts.
+       (CLASSTYPE_NESTED_UTDS): Rename from CLASSTYPE_TAGS.
+       * class.c (unreverse_member_declarations): Don't touch
+       CLASSTYPE_TAGS.
+       (pushclass): Use cxx_remember_type_decls.
+       * decl.c (struct cp_binding_level): Replace data member tags with
+       hash-table type_decls.
+       (pop_binding_level): Handle level->type_decls.
+       (kept_level_p): Adjust.
+       (poplevel): Remove unused local variable.
+       (bt_print_entry): New function.
+       (print_binding_level): Use it.
+       (push_namespace): Build current_binding_level->type_decls.
+       (maybe_process_template_type_declaration): Adjust.
+       (pushtag): Likewise.
+       (clear_anon_tags): Use binding_table_remove_anonymous_types.
+       (gettags): Remove.
+       (cxx_remember_type_decls):  Rename from storetags.  Adjust.
+       (lookup_tag): Use binding_table_find_anon_type.  Tidy.
+       (lookup_tag_reverse): Use binding_table_reverse_maybe_remap.
+       (cxx_init_decl_processing): Build global_binding_level->type_decls.
+       (store_parm_decls): Remove pointless code.
+       * name-lookup.c (free_binding_entry): New variable.
+       (ENTRY_INDEX): New macro.
+       (struct binding_table_s): New datatype.
+       (binding_entry_make): New function.
+       (binding_entry_free): Likewise.
+       (binding_table_construct): Likewise.
+       (binding_table_free): Likewise.
+       (binding_table_new): Likewise.
+       (binding_table_expand): Likewise.
+       (binding_table_insert): Likewise.
+       (binding_table_find): Likewise.
+       (binding_table_find_anon_type): Likewise.
+       (binding_table_reverse_maybe_remap): Likewise.
+       (binding_table_remove_anonymous_types): Likewise.
+       (binding_table_foreach): Likewise.
+       * name-lookup.h (binding_table): New type.
+       (binding_entry): Likewise.
+       (bt_foreach_proc): Likewise.
+       (struct binding_entry_s): New datatype.
+       (SCOPE_DEFAULT_HT_SIZE): New macro.
+       (CLASS_SCOPE_HT_SIZE): Likewise.
+       (NAMESPACE_ORDINARY_HT_SIZE): Likewise.
+       (NAMESPACE_STD_HT_SIZE): Likewise.
+       (GLOBAL_SCOPE_HT_SIZE): Likewise.
+       (binding_table_new): Declare.
+       (binding_table_free): Likewise.
+       (binding_table_insert): Likewise.
+       (binding_table_find_anon_type): Likewise.
+       (binding_table_reverse_maybe_remap): Likewise.
+       (binding_table_remove_anonymous_types): Likewise.
+       (binding_table_foreach): Likewise.
+       (binding_table_find): Likewise.
+       (cxx_remember_type_decls): Likewise.
+       * pt.c (bt_instantiate_type_proc): New function.
+       (do_type_instantiation): Use it.
+       * search.c (lookup_field_r): Use binding_table_find.
+
+2003-05-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * semantics.c (perform_deferred_access_checks): Don't discard
+       checked access.
+
+2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * error.c (cp_error_at, cp_warning_at, cp_pedwarn_at): Eliminate
+       libiberty VA_ macros, always use stdarg.
+       * rtti.c (create_pseudo_type_info): Likewise.
+       * tree.c (build_min_nt, build_min): Likewise.
+
+2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ptree.c (cxx_print_type, cxx_print_xnode): Use string
+       concatentation on HOST_WIDE_INT_PRINT_* format specifier to
+       collapse multiple function calls into one.
+       * tree.c (debug_binfo): Likewise.
+
+2003-05-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/5388
+       * call.c (conditional_conversion): Don't consider implicit
+       conversions if T2 is a base of T1.
+       * cp-tree.h (DERIVED_FROM_P, UNIQUELY_DERIVED_FROM_P): Make boolean.
+       (ACCESSIBLY_UNIQUELY_DERIVED_P, PUBLICLY_UNIQUELY_DERIVED_P): Likewise.
+
+       * parser.c (cp_parser_primary_expression): Convert a static data
+       member from reference.
+
+2003-05-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * call.c (build_op_delete_call): Avoid creating unnecessary types.
+       * class.c (instantiate_type): Remove tests for tf_no_attributes.
+       * cp-tree.h (tsubst_flags_t): Remove tf_no_attributes.
+       (COMPARE_NO_ATTRIBUTES): Remove.
+       * typeck.c (comptypes): Do not check COMPARE_NO_ATTRIBUTES.
+
+       PR c++/8385
+       * semantics.c (finish_typeof): Refine type-dependency check.
+
+2003-05-13  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (build_modify_expr): Don't always stabilize the lhs and
+       rhs.  Do stabilize the lhs of a MODIFY_EXPR used on the lhs.
+
+2003-05-11  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * method.c (synthesize_method): Call push/pop_deferring_access_checks.
+
+2003-05-11  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10230, c++/10481
+       * semantics.c (finish_non_static_data_member): Handle when the
+       non-static member is not from a base of the current class type.
+
+2003-05-11  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10552
+       * pt.c (tsubst_copy): Handle TEMPLATE_DECL that is a member class
+       template and has dependent context.
+
+2003-05-10  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (instantiate_decl): Call push/pop_deferring_access_checks.
+
+2003-05-10  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9252
+       * cp-tree.h (saved_scope): Remove check_access field.
+       (tsubst_flags_t): Remove tf_parsing.
+       * decl.c (maybe_push_to_top_level): Don't initialize
+       scope_chain->check_access.
+       (make_typename_type, make_unbound_class_template): Don't use
+       tf_parsing.
+       (register_dtor_fn): Use push/pop_deferring_access_checks
+       instead of scope_chain->check_access.
+       * method.c (use_thunk): Likewise.
+       * parser.c (cp_parser_explicit_instantiation
+       (cp_parser_constructor_declarator_p): Don't call
+       push/pop_deferring_access_checks here.
+       (cp_parser_template_argument, cp_parser_class_name): Don't use
+       tf_parsing.
+       (yyparse): Check flag_access_control.
+       * pt.c (instantiate_class_template): Call
+       push/pop_deferring_access_checks.
+       * semantics.c (push_deferring_access_checks): Propagate
+       dk_no_check.
+       (perform_or_defer_access_check): Make sure basetype_path is
+       a type before comparison.
+       * call.c (build_op_delete_call, build_over_call): Use
+       perform_or_defer_access_check.
+       * class.c (alter_access): Likewise.
+       * init.c (build_offset_ref): Likewise.
+       * lex.c (do_identifier): Likewise.
+       * method.c (hack_identifier): Likewise.
+       * search.c (lookup_member): Likewise.
+       * semantics.c (finish_non_static_data_member): Likewise.
+       (simplify_aggr_init_exprs_r): Use push/pop_deferring_access_checks
+       instead of flag_access_control.
+
+2003-05-10  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9554
+       * parser.c (cp_parser_class_name): Remove check_access parameter.
+       All caller adjusted.  Update declaration.
+       (cp_parser_lookup_name): Likewise.
+       * semantics.c (push_deferring_access_checks): Change parameter type
+       to enum deferring_kind.  All caller adjusted.
+       (resume_deferring_access_checks): Adjust to use new enum.
+       (stop_deferring_access_checks): Likewise.
+       (perform_or_defer_access_check): Likewise.
+       * cp-tree.h (deferring_kind): New enum.
+       (deferred_access): Adjust field type.
+       (push_deferring_access_checks): Update declaration.
+
+2003-05-09  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10555, c++/10576
+       * pt.c (lookup_template_class): Handle class template with
+       multiple levels of parameters when one of the levels contain
+       errors.
+
+2003-05-08  Jason Merrill  <jason@redhat.com>
+
+       * init.c (build_new_1): Don't reuse a TARGET_EXPR in an
+       expression.  Undo some of the recent reorg.
+
+2003-05-07  Richard Henderson  <rth@redhat.com>
+
+       PR c++/10570
+       * cfns.gperf: Comment out POSIX thread cancellation points,
+       plus abort and raise.
+       * cfns.h: Regenerate.
+
+2003-05-07  Jason Merrill  <jason@redhat.com>
+
+       * call.c (build_conditional_expr): Don't assume that the folded
+       expression has result_type.
+
+2003-05-06  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * typeck.c (build_unary_op): Deal with const qualifier in
+       invalid pointer-to-member earlier.
+
+2003-05-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9537
+       * call.c (conditional_conversion): Build an RVALUE_CONV if
+       we're just changing the cv-quals.
+       (build_conditional_expr): Don't call convert to change
+       cv-quals.
+
+2003-05-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10496
+       * typeck.c (build_unary_op): Don't output const qualifier when
+       output invalid pointer-to-member diagnostics.
+
+2003-05-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * decl.c: Fix typos.
+
+2003-05-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/4494
+       * decl.c (start_function): Use same_type_p to check return type
+       of main.
+
+2003-05-03  Zack Weinberg  <zack@codesourcery.com>
+
+       PR c/10604
+       * cp/typeck.c (build_x_compound_expr): No need to check
+       extra_warnings as well as warn_unused_value.
+
+2003-05-03  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9364, c++/10553, c++/10586
+       * decl.c (make_typename_type): Don't crash on illegal code.
+
+2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * class.c (finish_struct): Use location_t and input_location
+       directly.
+       * decl.c (make_label_decl): Likewise.
+       (use_label): Likewise.
+       * decl2.c (warn_if_unknown_interface): Likewise.
+       (start_static_initialization_or_destruction): Likewise.
+       (generate_ctor_or_dtor_function): Likewise.
+       (finish_file): Likewise.
+       * error.c (print_instantiation_full_context): Likewise.
+       * init.c (create_temporary_var): Likewise.
+       * method.c (synthesize_method): Likewise.
+       * parser.c (cp_token): Likewise.
+       (cp_lexer_set_source_position_from_token): Likewise.
+       (cp_lexer_get_preprocessor_token): Likewise.
+       (cp_parser_statement): Likewise.
+       * pt.c (tsubst_friend_function): Likewise.
+       (instantiate_class_template): Likewise.
+       (tsubst_decl): Likewise.
+       (tsubst): Likewise.
+       (instantiate_decl): Likewise.
+       * semantics.c (begin_class_definition): Likewise.
+       (expand_body): Likewise.
+
+2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * class.c (finish_struct): Rename lineno to input_line.
+       * decl.c (push_binding_level, pop_binding_level,
+       suspend_binding_level, resume_binding_level, make_label_decl,
+       use_label, start_function): Likewise.
+       * decl2.c (warn_if_unknown_interface,
+       start_static_initialization_or_destruction,
+       generate_ctor_or_dtor_function, finish_file): Likewise.
+       * error.c (cp_line_of, print_instantiation_full_context,
+       print_instantiation_context): Likewise.
+       * except.c (check_handlers_1, check_handlers): Likewise.
+       * init.c (create_temporary_var): Likewise.
+       * method.c (use_thunk, synthesize_method): Likewise.
+       * parser.c (cp_lexer_set_source_position_from_token,
+       cp_lexer_get_preprocessor_token): Likewise.
+       * pt.c (push_tinst_level, pop_tinst_level,
+       tsubst_friend_function, instantiate_class_template, tsubst_decl,
+       tsubst, tsubst_expr, instantiate_decl): Likewise.
+       * semantics.c (genrtl_try_block, finish_label_stmt,
+       begin_class_definition, expand_body,
+       genrtl_finish_function): Likewise.
+       * tree.c (build_min_nt, build_min): Likewise.
+
+2003-05-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl2.c (comdat_linkage): Don't externalize explicit
+       instantiations.
+
+2003-05-01  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10554
+       * decl2.c (do_class_using_decl): Check if operand 0 of SCOPE_REF
+       is not NULL.
+
+2003-05-01  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cp-tree.h (struct lang_id2): Remove.  Move fields from here...
+       (struct lang_identifier): ... to here.
+       (LANG_ID_FIELD): Remove.
+       (SET_LANG_ID): Remove.
+       (IDENTIFIER_LABEL_VALUE): Adjust for new lang_identifier.
+       (SET_IDENTIFIER_LABEL_VALUE): Likewise.
+       (IDENTIFIER_IMPLICIT_DECL): Likewise.
+       (SET_IDENTIFIERL_IMPLICIT_DECL): Likewise.
+       (IDENTIFIER_ERROR_LOCUS): Likewise.
+       (SET_IDENTIFIER_ERROR_LOCUS): Likewise.
+
+2003-05-01  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/8772
+       * pt.c (convert_template_argument): Correct diagnostic.
+
+2003-04-30  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9432, c++/9528
+       * decl2.c (validate_nonmember_using_decl): Handle SCOPE_REF.
+
+2003-04-30  Garbiel Dos Reis  <gcc@integrable-solutions.net>
+
+       * decl.c (check_previous_goto_1): Adjust prototype.
+       (check_previous_goto): Adjust use.
+       (check_switch_goto): Likewise.
+       (use_label): Adjust.
+       (check_previous_goto_1): Don't use pedwarn_with_file_and_line.
+       (struct named_label_use_list): Use location_t datatype.
+
+2003-04-29  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10551
+       * pt.c (mark_decl_instantiated): Defer all explicit instantiations
+       that have not yet been written out.
+
+2003-04-29  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10549
+       * class.c (layout_class_type): Mark overlong bitfields as having
+       the maximum size permitted by their type, after layout.
+
+       PR c++/10527
+       * error.c (dump_expr): Correctly handling of NEW_EXPR.4
+
+2003-04-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * call.c (build_operator_new_call): Fix typo.
+       * lang-options.h: Likewise.
+
+2003-04-29  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10515
+       * cp-tree.h (lookup_field_1): Declare it.
+       * search.c (lookup_field_1): Make it public.
+       * decl.c (reshape_init): Handle designated initializers.
+
+       * decl.c (maybe_commonize_var): Further tweak support for systems
+       without weak symbols.
+
+2003-04-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl.c (maybe_commonize_var): Fix thinko in last patch.
+
+2003-04-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10506
+       * method.c (use_thunk): Decrement immediate_size_expand.
+
+       PR c++/10503
+       * cp-tree.h (DECL_VAR_MARKED_P): New macro.
+       (DECL_MAYBE_TEMPLATE): Remove.
+       * class.c (fixed_type_or_null): Avoid infinite recursion.
+
+       * decl.c (maybe_commonize_var): Make the code match the comments.
+       * pt.c (instantiate_decl): Move call to import_export_decl.
+
+2003-04-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl2.c (finish_file): Fix merge botch.
+
+2003-04-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * decl2.c (finish_file): Don't call import_export_decl for
+       functions that are not defined.
+       (handle_class_head): Robustify.
+       * pt.c (instantiate_decl): Do not call cp_finish_decl for
+       variables that are not defined.
+
+2003-04-24  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
+
+       * call.c (print_z_candidates): Fix off by one error.
+
+2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10337
+       * call.c (joust): Don't warn about conversion ops that are exact
+       or cv-conversions. Rearrange to avoid multiple type comparisons.
+
+2003-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10471
+       * call.c (build_cxx_call): Robustify.
+
+2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Make-lang.in (lex.o): Remove mbchar.h.
+       * lex.c (MULTIBYTE_CHARS): Lose.
+       * parser.c (cp_lexer_get_preprocessor_token): CPP_OTHER handled
+       in c-lex.c.
+
+2003-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9847
+       * cp-tree.h (duplicate_tag_error): Remove.
+       * class.c (duplicate_tag_error): Remove.
+       * semantics.c (begin_class_definition): Return immediately for a
+       duplicate class definition.
+
+       PR c++/10451
+       * decl.c (grokdeclarator): Correct logic for "mutable" errors.
+
+2003-04-22  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10446
+       * search.c (lookup_fnfields_1): Handle empty slots in the method
+       vector.
+
+       PR c++/10428
+       * decl.c (check_elaborated_type_specifier): New function, split
+       out from ...
+       (xref_tag): ... here.  Use the new function in more places.
+
+       * rtti.c (throw_bad_typeid): Use build_cxx_call.
+
+2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+
+       * call.c (build_over_call): Use build_cxx_call.
+       (build_cxx_call): New method, split out of build_over_call.
+       * cp-tree.h (language_function): Add can_throw.
+       (build_cxx_call): Declare it.
+       * decl.c (finish_function): If a function does not contain any
+       calls to functions that can throw an exception, indicate that
+       fact.
+       * decl2.c (mark_used): Do not defer the instantiation of
+       functions, if the current function does not throw.
+       * optimize.c (maybe_clone_body): Copy TREE_NOTHROW to the clones.
+       * pt.c (instantiate_decl): Make sure import_export_decl is called
+       before emitting things.
+       * rtti.c (throw_bad_cast): Use build_cxx_call.
+       (build_dynamic_cast_1): Likewise.
+       * typeck.c (build_function_call): Likewise.
+
+2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9881
+       * typeck.c (build_unary_op): Fold all COMPONENT_REF addr
+       expressions. Reverts my 2002-08-08 patch.
+
+       * typeck.c (comp_ptr_ttypes_real): Swap final && operands for
+       cheaper early exit.
+
+2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp/decl2.c (start_static_storage_duration_function): Take count
+       arg, don't check if it wraps round.
+       (generate_ctor_or_dtor_function): Add locus arg, use it.
+       (generate_ctor_and_dtor_functions_for_priority): Data arg is a
+       locus.
+       (finish_file): Set line numbers to past EOF for synthesized
+       functions.
+
+2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10405
+       * search.c (lookup_field_1): Final scan goes backwards for
+       types, forwards for non-types.
+
+2003-04-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR c/10375
+       * decl.c (duplicate_decls): Preserve "const", "noreturn" and
+       "nothrow" function attributes.
+
+2003-04-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10347
+       * pt.c (type_dependent_expression_p): Handle array new.
+
+2003-04-15  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10381
+       * parser.c (cp_parser_primary_expression): Reorganize logic for
+       dealing with name lookup failures.
+
+2003-04-15  Jason Merrill  <jason@redhat.com>
+
+       * decl2.c (mark_used): Don't instantiate anything if
+       skip_evaluation.
+
+2003-04-14  Ziemowit Laski  <zlaski@apple.com>
+
+       * tree.c (build_cplus_array_type_1): Do not call
+       uses_template_parms() on a NULL index_type.
+
+2003-04-13  Roger Sayle  <roger@eyesopen.com>
+
+       * decl.c (duplicate_decls): Preserve pure and malloc attributes.
+
+2003-04-12  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10300
+       * init.c (build_new_1): Reorganize.
+
+2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+
+       * class.c (initialize_array)
+       * decl.c (reshape_init)
+       * decl2.c (build_expr_from_tree)
+       * init.c (build_zero_init)
+       * pt.c (tsubst_copy, tsubst_copy_and_build)
+       * rtti.c (tinfo_base_init, generic_initializer, ptr_initializer)
+       (ptm_initializer, class_initializer, get_pseudo_ti_init)
+       * semantics.c (finish_compound_literal)
+       * typeck.c (build_ptrmemfunc1)
+       * typeck2.c (store_init_value, process_init_constructor)
+       (build_functional_cast): Use build_constructor.
+
+2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+
+       * call.c (print_z_candidates): Use gcc_gettext_width, not
+       strlen, to determine how much padding to use.
+
+2003-04-10  Zack Weinberg  <zack@codesourcery.com>
+
+       * decl.c: Update all calls to shadow_warning.
+
+2003-04-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (layout_class_type): Correct handling for overlong
+       bit-fields whose width is the same as an integer type.
+
+2003-04-06  Zack Weinberg   <zack@codesourcery.com>
+
+       * cp-tree.def: Make fourth element for all 'c' and 'x' nodes zero.
+       * cp-lang.c (cp_tree_size): New function.
+       (LANG_HOOKS_TREE_SIZE): Override.
+
+       * cp-tree.h (SOURCE_LOCUS, SRCLOC_FILE, SRCLOC_LINE, struct
+       tree_srcloc, TS_CP_COMMON, TS_CP_SRCLOC): Kill.
+       (union lang_tree_node): Remove common and srcloc members.
+       (build_srcloc_here): Don't prototype.
+       * decl.c (cp_tree_node_structure): Kill SRCLOC case.
+       * pt.c (pending_templates): Correct comment.
+       * tree.c (build_srcloc, build_srcloc_here): Kill.
+
+2003-04-06  Zack Weinberg   <zack@codesourcery.com>
+
+       * call.c: Include intl.h.
+       (print_z_candidate): Always use inform; get rid of errfn
+       argument. Reorganize so that all the strings get picked up
+       by xgettext.  Note obligation of caller to pass first argument
+       through gettext.
+       (print_z_candidates): Update to match.  Indent second and
+       successive candidates by strlen() of translated message.
+       (joust): Restructure ambiguous-conversion pedwarn so that
+       translators see a complete sentence.  Update calls to
+       print_z_candidate.
+
+       * Make-lang.in (cp/call.o): Update dependencies.
+
+2003-04-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c (set_current_binding_level): Delete, revert last change.
+       (current_binding_level): Modify to allow it as as lvalue.
+
+2003-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * name-lookup.c (find_binding): Pass appropriate pointer type to
+       POP_TIMEVAR_AND_RETURN.
+
+2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Make-lang.in (cp-warn): Add $(STRICT_WARN).
+       * cp-tree.h: Don't insist on having GNUC.
+
+2003-04-03  Jason Merrill  <jason@redhat.com>
+
+       * cvt.c (ocp_convert): Only abort if we try to convert an object
+       of TREE_ADDRESSABLE type.
+
+       * class.c (build_vtable): Set DECL_ALIGN here.
+       (get_vtable_decl): Not here.
+       (layout_vtable_decl): Or here.
+       (create_vtable_ptr): Or here.
+       (layout_class_type): Or here.
+       (check_bitfield_decl): Don't mess with field alignment.
+
+2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * operators.def (DEF_SIMPLE_OPERATOR, DEF_ASSN_OPERATOR,
+       DEF_ASSN_OPERATOR): Delete spurious semi-colon.
+       * rtti.c (dfs_class_hint_mark): Likewise.
+
+       * decl.c (push_local_name, push_class_level_binding,
+       maybe_inject_for_scope_var): Don't use POP_TIMEVAR_AND_RETURN in
+       functions returning void.
+       * decl2.c (add_using_namespace): Likewise.
+
+       * decl.c (print_binding_level, print_other_binding_stack,
+       print_binding_stack): Cast argument of %p specifier to void*.
+       * ptree.c (cxx_print_decl): Likewise.
+
+       * cp-tree.h (VAR_OR_FUNCTION_DECL_CHECK,
+       VAR_FUNCTION_OR_PARM_DECL_CHECK,
+       VAR_TEMPL_TYPE_OR_FUNCTION_DECL_CHECK, RECORD_OR_UNION_TYPE_CHECK,
+       BOUND_TEMPLATE_TEMPLATE_PARM_TYPE_CHECK, LANG_TYPE_CLASS_CHECK,
+       LANG_TYPE_PTRMEM_CHECK, LANG_DECL_U2_CHECK): Add __extension__.
+
+       * decl.c (set_current_binding_level): New macro.  Use throughout
+       when setting the current binding level.
+
+       * cp-tree.h (cp_lvalue_kind, base_access): Delete trailing comma
+       in enum.
+       * method.c (mangling_flags): Likewise.
+
+       * cp-tree.h (lang_type_header): Add __extension__ and use
+       CHAR_BITFIELD for members.
+
+2003-04-02  Geoffrey Keating  <geoffk@apple.com>
+
+       PR other/9274
+       * mangle.c: Include gt-cp-mangle.h.
+       (subst_identifiers): Mark with GTY.
+       * config-lang.in (gtfiles): Add cp/mangle.c.
+       * Make-lang.in: (gt-cp-mangle.h): New rule.
+       (cp/mangle.o): Depends on gt-cp-mangle.h.
+
+2003-04-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config-lang.in (gtfiles): Add \$(srcdir)/cp/name-lookup.c
+       after \$(srcdir)/cp/name-lookup.h.
+       * name-lookup.c: (cxx_binding_make): Use ggc_alloc_clearedinstead
+       of ggc_alloc.  Include gt-cp-name-lookup.h at the end of the file.
+       * Make-lang.in: (gt-cp-name-lookup.h): Is generated by gengtype.
+       (cp/name-lookup.o): Depends on gt-cp-name-lookup.h.
+
+2003-03-31  Jason Merrill  <jason@redhat.com>
+
+       PR java/10145
+       * class.c (check_field_decl): Don't set DECL_ALIGN.
+
+2003-03-30  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/7647
+       * decl.c (grokdeclarator): Tidy, slightly.
+       * search.c (lookup_field_1): Add want_type parameter.
+       (lookup_field_r): Adjust call to lookup_field_1.
+
+2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * Make-lang.in (cp/name-lookup.o): Add more dependencies.
+
+2003-03-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * cp-tree.h (binding_for_name: Move to name-lookup.h  Adjust
+       prototype.
+       (cxx_scope_find_binding_for_name): Likewise.
+       * decl.c (find_binding: Move to name-lookup.c.
+       (binding_for_name): Likewise.
+       (cxx_scope_find_binding_for_name): Likewise.
+       (BINDING_LEVEL):  Remove.
+       (push_binding): Tidy.
+       (push_class_binding): Likewise.
+       (pop_binding): Likewise.
+       (poplevel): Likewise.
+       (poplevel_class): Likewise.
+       (set_identifier_type_value_with_scope): Likewise.
+       (push_overloaded_decl): Likewise.
+       (lookup_tag): Likewise.
+       (unqualified_namespace_lookup): Likewise.
+       (lookup_name_current_level): Likewise.
+       (maybe_inject_for_scope_var): Likewise.
+       (namespace_binding): Move to name-lookup.c.
+       (set_namespace_binding): Likewise.
+       * decl2.c (lookup_using_namespace): Tidy.
+       (qualified_lookup_using_namespace): Likewise.
+       (do_toplevel_using_decl): Likewise.
+       * name-lookup.c: Include "timevar.h"
+       * name-lookup.h (cxx_scope):  Declare.
+       (struct cxx_binding): Lose member "has_level".  Adjust "scope"
+       member declaration.
+       (BINDING_SCOPE): Adjust definition.
+       (BINDING_HAS_LEVEL_P): Remove.
+
+2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * name-lookup.c: New file.
+       * name-lookup.h: Likewise..
+       * decl.c (push_binding): Adjust use cxx_binding_make.
+       (free_bindings): Move to name-lookup.c
+       (pop_binding): Use cxx_binding_free.
+       (binding_for_name): Tidy.
+       * cp-tree.h: Include "name-lookup.h"
+       (cxx_binding_make): Move to name-lookup.h
+       (cxx_binding_clear): Likewise.
+       (struct cxx_binding): Likewise.
+       (LOCAL_BINDING_P): Likewise.
+       (INHERITED_VALUE_BINDING_P): Likewise.
+       (BINDING_SCOPE): Likewise.
+       (BINDING_HAS_LEVEL_P): Likewise.
+       (BINDING_VALUE): Likewise.
+       (BINDING_TYPE): Likewise.
+       * config-lang.in (gtfiles): Add cp/name-lookup.h
+       * Make-lang.in (cp/name-lookup.o): New rule.
+       (CXX_OBJS): Add cp/name-lookup.o
+       (CXX_TREE_H): Add cp/name-lookup.h
+
+2003-03-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/10245
+       * cvt.c (force_rvalue): New fn.
+       * call.c (build_conditional_expr): Use it.
+       * cp-tree.h: Declare it.
+
+2003-03-28  Mike Stump  <mrs@apple.com>
+
+       * error.c (dump_expr): Add 0x to printed hex numbers to make
+       output match source code better.
+
+2003-03-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10218
+       * decl.c (grokfndecl): Return NULL_TREE for bogus out-of-class
+       definitions.
+
+       * decl2.c (generate_ctor_or_dtor_function): Tolerate a
+       non-existant ssdf_decls array.
+       (finish_file): Call generator_ctor_or_dtor_function when there are
+       static constructors or destructors and no other static
+       initializations.
+
+2003-03-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10047
+       * decl2.c (finish_file): Don't warn about explicitly instantiated
+       inline decls.
+
+2003-03-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10224
+       * pt.c (lookup_template_class): Only check instantiated args if
+       they do not contain template parameters.
+
+2003-03-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10158
+       * parser.c (cp_parser_function_definition): Set
+       DECL_INITIALIZED_IN_CLASS for members.
+       * pt.c (instantiate_decl): Only reduce the template args for
+       friends that are not defined in class.
+
+2003-03-25  Jason Merrill  <jason@redhat.com>
+
+       * call.c (print_z_candidate): Change name of first arg to msgid.
+       (joust): Add comment for translators.
+
+2003-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9898, PR c++/383, DR 322
+       * pt.c (maybe_adjust_types_for_deduction) <DEDUCE_CONV>: Look
+       through reference types on both PARM and ARG.
+
+2003-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10119
+       * error.c (dump_expr) <BASELINK>: Use dump_expr.
+       * pt.c (maybe_fold_nontype_args): New function.
+       (tsubst_copy) <SCOPE_REF>: Subst any template_id args.
+       <TEMPLATE_ID_EXPR>: Break out folding code, call it.
+       (tsubst_copy_and_build) <TEMPLATE_ID_EXPR>: Call
+       maybe_fold_nontype_args.
+
+2003-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/10026
+       * decl2.c (arg_assoc_type) <ERROR_MARK>: Don't die.
+
+2003-03-23  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/7086
+       * typeck.c (cxx_mark_addressable):  Adjust call to
+       gen_mem_addressof or put_var_into_stack.
+
+2003-03-22  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9978, c++/9708
+       * cp-tree.h (instantiate_template): Add tsubst_flags parameter.
+       * call.c (add_template_candidate_real): Adjust
+       instantiate_template call.
+       * class.c (resolve_address_of_overloaded_function): Likewise.
+       * decl.c (build_enumerator): Set TREE_CONSTANT.
+       * pt.c (check_instantiated_args): New.
+       (push_inline_template_parms_recursive): Set TREE_CONSTANT,
+       TREE_READONLY.
+       (build_template_parm_index): Copy TREE_CONSTANT, TREE_READONLY.
+       (reduce_template_parm_level): Likewise.
+       (process_template_parm): Likewise.
+       (check_explicit_specialization): Adjust instantiate_template call.
+       (convert_template_argument): Don't check non-type argument here.
+       (lookup_template_class): Check them here.
+       (tsubst_friend_function): Adjust instantiate_template call.
+       (instantiate_template): Add tsubst_flags parameter, use it. Check
+       instantiated args.
+
+2003-03-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * decl.c: Update calls to shadow_warning.
+
+2003-03-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9898
+       * error.c (dump_decl) [CONST_DECL]: Print '<enumerator>'.
+       (dump_expr) [CONSTRUCTOR]: Print default ctor as a function call.
+
+2003-03-20  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp/decl2.c (arg_assoc_class): Correct check for namespace-scope
+       friends.
+       * cp/pt.c (instantiate_class_template): Fix formatting.
+
+2003-03-14  Matt Austern  <austern@apple.com>
+
+       * cp-tree.h (unemitted_tinfo_decls): Declaration of a new varray.
+       (unemitted_tinfo_decl_p): Remove.
+       (emit_tinfo_decl): Change declaration to remove unused parameter.
+       * decl2.c (finish_file): Change tinfo emission to loop through
+       unemitted_tinfo_decls array instead of looping through all decls.
+       * rtti.c (unemitted_tinfo_decl_p): Declare as static, remove
+       unused second parameter.
+       (init_rtti_processing): initialize unemitted_tinfo_decls varray.
+       (get_tinfo_decls): push new tinfo decl on unemitted_tinfo_decls.
+       (emit_tinfo_decl): remove unused second parameter, add assertion
+       that decl hasn't already been emitted.
+
+2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * dump.c (cp_dump_tree), cp-tree.h (cp_dump_tree): Change return
+       type from 'int' to 'bool'. Replace 0 and 1 with true and false in
+       return statements.
+
+2003-03-19  Jason Merrill  <jason@redhat.com>
+
+       PR c++/8316, c++/9315, c++/10136
+       * call.c (print_z_candidate): Split out from...
+       (print_z_candidiates): ...here.
+       (joust): Use it.
+
+2003-03-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR c++/10031
+       * decl.c (duplicate_decls): Use the new type when prototyping
+       anticipated decls, even when the types match.  This defines the
+       exception list for the built-in function.
+
+2003-03-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/10091
+       * typeck.c (build_class_member_access_expr): Compare
+       TYPE_MAIN_VARIANTs.
+
+2003-03-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9639
+       * parser.c (cp_parser_declarator_id): Clear parser->scope.
+
+2003-03-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9993
+       * decl.c (finish_function): Only allow the NRVO to use variables
+       declared at function scope.
+
+2003-03-17  Andreas Jaeger  <aj@suse.de>
+
+       * Make-lang.in (cp/TAGS): Remove.
+
+2003-03-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9629
+       * cp-tree.h (struct language_function): Add in_base_initializer.
+       (in_base_initializer): define it.
+       (expand_member_init): Remove INIT param.
+       * init.c (expand_member_init): Remove INIT param, return the member.
+       (emit_mem_initializers): Set in_base_initializer.
+       * class.c (build_base_path): Check in_base_initializer.
+       * parser.c (cp_parser_mem_initializer): Set in_base_initializer.
+       * pt.c (tsubst_initializer_list): Likewise.
+
+2003-03-16   Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * decl.c (binding_for_name): Fix initialization thinko.
+
+2003-03-15  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       Compile-time improvement: 2/n.
+       * cp-tree.h (struct cxx_binding): New datatype;
+       (struct lang_identifier): Use it.
+       (LOCAL_BINDING_P): Adjust definition.
+       (INHERITED_VALUE_BINDING_P): Likewise.
+       (BINDING_SCOPE): Likewise.
+       (BINDING_HAS_LEVEL_P): Likewise.
+       (BINDING_VALUE): Likewise.
+       (BINDING_TYPE): Likewise.
+       (IDENTIFIER_VALUE): Likewise.
+       (struct tree_binding): Remove.
+       (TS_CP_BINDING): Likewise.
+       ((union lang_tree_node): Remove field "binding".
+       (cxx_binding_clear): New macro.
+       (binding_for_name): Adjust return type.
+       (qualified_lookup_using_namespace): Adjust prototype.
+       (lookup_using_namespace): Adjust prototype.
+       (cxx_scope_find_binding_for_name): Declare.
+       * cp-tree.def: Remove CPLUS_BINDING definition.
+       * decl.c (push_binding): Adjust local variable type.
+       (add_binding): Likewise.
+       (push_class_binding): Likewise.
+       (pop_binding): Likewise.
+       (poplevel): Likewise.
+       (poplevel_class): Likewise.
+       (free_bindings):  Adjust type.
+       (find_binding): Adjust return type, add a third parameter. Remove
+       non-useful assertion now that we use static typing.
+       (cxx_scope_find_binding_for_name): New function.
+       (binding_for_name): Use it.  Adjust local variable type. Simplify.
+       (namespace_binding):  Simplify.
+       (set_namespace_binding): Likewise.
+       (set_identifier_type_value_with_scope): Adjust local variable type.
+       (lookup_tag): Don't type-abuse of local variable 'old'.
+       (lookup_namespace_name): Likewise.  Allocate binding on stack.
+       (select_decl): Adjust prototype.
+       (unqualified_namespace_lookup):  Allocate binding on stack.
+       Don't type-abuse of local variable 'val'.
+       (lookup_name_real): Likewise.
+       (maybe_inject_for_scope_var): Adjust local variable type.
+       (cp_tree_node_structure): Remove CPLUS_BINDING case label.
+       (namespace_binding): Adjust logic, simplify.
+       (BINDING_LEVEL): Adjust definition.
+       (push_class_level_binding): Adjust local variable type.
+       (struct cxx_saved_binding): Adjust field 'binding' type.
+       * decl2.c (ambiguous_decl): Adjust prototype.
+       (lookup_using_namespace): Adjust local variable type.
+       (qualified_lookup_using_namespace): Catch type error and correct
+       ensueing logic error.
+       (do_nonmember_using_decl): Adjust local variable type.  Allocate
+       temporary cxx_binding on stack.
+       (do_toplevel_using_decl): Adjust local variable type.
+       * ptree.c (cxx_print_cxx_binding): New function.
+       (cxx_print_identifier): Use it.
+       (cxx_print_xnode): Delete CPLUS_BINDING case label.
+
+2003-03-15  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.c (count_functions): Fix whitespace.
+
+2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Make-lang.in: Update.
+
+2003-03-15  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/6440
+       * pt.c (maybe_process_partial_specialization): Handle
+       member class template when enclosing class template is
+       explicit specialized.
+       (most_general_template): Stop looking when DECL is already
+       specialized.
+
+2003-03-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9420
+       * search.c (lookup_conversions): Call complete_type here.
+       * call.c (implicit_conversion): Not here.
+
 2003-03-13  Mark Mitchell  <mark@codesourcery.com>
 
+       * decl2.c (do_nonmember_using_decl): Correct handling of
+       simultaneous type/non-type bindings.
+
        * call.c (initialize_reference): Remove bogus assertion.
        * decl.c (build_ptrmemfunc_type): Revert change of 2003-03-09.
 
 2003-03-11  Jason Merrill  <jason@redhat.com>
 
        PR c++/9820
-       * search.c (lookup_member): Fix handling of functions in a class 
+       * search.c (lookup_member): Fix handling of functions in a class
        being defined.
 
 2003-03-11  Mark Mitchell  <mark@codesourcery.com>
 2003-03-11  Jason Merrill  <jason@redhat.com>
 
        PR c++/8660
-       * decl2.c (check_classfn): A member template only matches a 
+       * decl2.c (check_classfn): A member template only matches a
        member template.
 
 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
        (build_function_call): ... this.
 
 2003-03-10  Devang Patel  <dpatel@apple.com>
-       
+
        PR c++/9394
        * g++spec.c (lang_specific_driver): Use DEFAULT_WORD_SWTCH_TAKES_ARG.
 
        (handle_class_head): Remove unncessary parameters.
        * parser.c (cp_parser_class_head): Check that
        nested-name-specifiers are used appropriately.
-       
+
 2003-03-07  Mark Mitchell  <mark@codesourcery.com>
 
        * call.c (reference_binding): Remove REF_IS_VAR parameter.
        * cvt.c (build_up_reference): Adjust use of
        make_temporary_var_for_ref_to_temp.
        * tree.c (real_non_cast_lvalue_p): New method.
-        
+
 2003-03-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * except.c (init_exception_processing): Use C90 prototype style.
        (can_convert_eh): Likewise.
        (check_handlers_1): Likewise.
        (check_handlers): Likewise.
-       
+
 2003-03-06  Mark Mitchell  <mark@codesourcery.com>
 
        * call.c (merge_conversion_sequences): New function.
        (build_user_type_conversion_1): Use merge_conversion_sequences.
        * cp-tree.def: Add comments for CONV nodes.
        * rtti.c (get_tinfo_decl): Use build_address/build_nop.
-       
+
 2003-03-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * error.c (init_error): Use C90 prototype style.
        (push_namespace): Initialize static_decls for ordinary namespaces.
        (cxx_init_decl_processing): Initialize static_decls for global
        namespace.
-       
+
 2003-03-05  Mark Mitchell  <mark@codesourcery.com>
 
        * class.c (end_of_class): Correct thinko.
 
 2003-03-04  Gabriel Dos Reis <gdr@integrable-solutions.net>
 
-        * cp-tree.h (cxx_saved_binding): Declare.
-        (struct saved_scope): Adjust type of field 'old_binding'.
-        * decl.c (cxx_saved_binding_make): New macro.
-        (struct cxx_saved_binding): Define.
-        (store_bindings): Adjust prototype.  Use cxx_saved_binding to save
-        C++ bindings. 
-        (maybe_push_to_top_level): Adjust local variable type.
-        (pop_from_top_level): Likewise.
-       
+       * cp-tree.h (cxx_saved_binding): Declare.
+       (struct saved_scope): Adjust type of field 'old_binding'.
+       * decl.c (cxx_saved_binding_make): New macro.
+       (struct cxx_saved_binding): Define.
+       (store_bindings): Adjust prototype.  Use cxx_saved_binding to save
+       C++ bindings.
+       (maybe_push_to_top_level): Adjust local variable type.
+       (pop_from_top_level): Likewise.
+
 2003-03-04  Tom Tromey  <tromey@redhat.com>
 
        * Make-lang.in (c++.tags): New target.
        (convert_for_initialization): Adjust call to
        initialize_reference.
        * typeck2.c (store_init_value): Remove #if 0'd code.
-       
+
 2003-03-03  Jason Merrill  <jason@redhat.com>
 
        * decl.c (start_function): Clear DECL_NUM_STMTS.
 
 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
 
-        * parser.c (cp_parser_init_declarator): Revert opaque
-        vector_opaque_p change.
-        Do not include target.h.
+       * parser.c (cp_parser_init_declarator): Revert opaque
+       vector_opaque_p change.
+       Do not include target.h.
 
 2003-02-28  Mark Mitchell  <mark@codesourcery.com>
 
        build_zero_init.
        (build_new_1): Adjust call to build_default_init.
        * typeck2.c (process_init_constructor): Adjust call to build_zero_init.
-       
+
 2003-02-26  Devang Patel  <dpatel@apple.com>
 
-       * decl.c (finish_enum): Merge two 'for' loops. Copy value node if required.
-       Postpone enum setting for template decls.
-       (build_enumerator): Delay copying value node until finish_enum (). Remove
-       #if 0'ed code.
+       * decl.c (finish_enum): Merge two 'for' loops. Copy value node if
+       required.  Postpone enum setting for template decls.
+       (build_enumerator): Delay copying value node until finish_enum
+       (). Remove #if 0'ed code.
        * pt.c (tsubst_enum): Set TREE_TYPE and copy value node.
        (tsubst_copy): Add check for enum type.
-       
+
 2003-02-25  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/9683
        * pt.c (instantiate_class_template): Don't try to instantiate
        dependent types.
        (resolve_typename_type): Use CLASSTYPE_PRIMARY_TEMPLATE.
-       
+
 2003-02-21  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/9749
 
 2003-02-21  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * search.c (bfs_walk_grow): Remove. Fold into ...
+       * search.c (grow_bfs_bases): Remove. Fold into ...
        (bfs_walk): ... here, fix fencepost error. Fix merge lossage
        in previous patch.
 
        trailing bit fields when computing CLASSTYPE_SIZE_UNIT.
 
 2003-02-18  Matt Austern <austern@apple.com>
-       
+
        * cp/cp-lang.c: Change lang hooks so that final_write_globals does
        nothing for C++.
        * cp/decl.c (wrapup_globals_for_namespace): Remove special
        handling of global namespace.
-       
+
 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
 
        * cp-tree.h (rid_to_yy): Delete.
 
 2003-02-14   Andrew Pinski <pinskia@physics.uc.edu>
 
-        * decl.c: (define_label): Fix warning for return 0 instead of NULL.
-       
+       * decl.c: (define_label): Fix warning for return 0 instead of NULL.
+
 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * decl.c: Include "timevar.h".
        (xref_tag): Likewise.
 
        * Make-lang.in (cp/decl.o): Add dependency on timevar.h
-       
+
 2003-02-12  Phil Edwards  <pme@gcc.gnu.org>
 
        * decl.c (build_enumerator):  Remove unneeded test.
        (build_modify_expr): Likewise.
        (build_x_modify_expr): Likewise.
        * typeck2.c (build_x_arrow): Likewise.
-       
+
 2003-01-29  Fariborz Jahanian  <fjahanian@apple.com>
 
-        * pt.c (last_pending_template) Declare GTY().
+       * pt.c (last_pending_template) Declare GTY().
 
 2003-01-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
 
        PR c++/9415
        * pt.c (tsubst_copy_and_build, CALL_EXPR): BASELINK exprs are
        already scoped.
-       
+
        PR c++/8545
        * parser.c (cp_parser_cast_expression): Be more tentative.
 
        (cp_parser_expression_statement): Use it.
        (cp_parser_explicit_instantiation): Likewise.
        * pt.c (do_decl_instantiation): Improve error handling logic.
-       
+
 2003-01-22  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/9384
        (dependent_template_arg_p): Likewise.
        (dependent_template_id_p): Likewise.
        (dependent_template_p): Likewise.
-       
+
        PR c++/9285
        PR c++/9294
        * parser.c (cp_parser_simple_declaration): Return quickly when
-        encountering errors.
+       encountering errors.
 
 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        PR c++/9272
        * parser.c (cp_parser_constructor_declarator_p): Do not assume
        that a constructor cannot be declared outside of its own class.
-       
+
        * parser.c (cp_parser_resolve_typename_type): If the scope cannot
        be resolved, neither can the qualified name.
 
 
 2003-01-09  Nathanael Nerode  <neroden@gcc.gnu.org>
 
-        * cfns.gperf: ANSIfy function declarations.
-        * cfns.h: Regenerate.
-        * cp-tree.h: ANSIfy function declarations.
-        * parser.c: ANSIfy function declarations & definitions.
+       * cfns.gperf: ANSIfy function declarations.
+       * cfns.h: Regenerate.
+       * cp-tree.h: ANSIfy function declarations.
+       * parser.c: ANSIfy function declarations & definitions.
 
        * decl.c (bad_specifiers): Fix parameter order error I introduced.
 
        2003-01-09  Geoffrey Keating  <geoffk@apple.com>
 
        Merge to tag pch-merge-20030102:
-       
+
        * semantics.c (finish_translation_unit): Don't call finish_file.
        * parser.c: Don't include ggc.h.
        (cp_lexer_new_main): Rename from cp_lexer_new, only create main lexer,
 
        * Make-lang.in: Remove $(GGC_H) from all dependencies.
        (CXX_TREE_H): Add $(GGC_H).
-       * class.c: Don't include ggc.h. 
+       * class.c: Don't include ggc.h.
        (field_decl_cmp): Make parameters be 'const void *' to match qsort.
        (method_name_cmp): Likewise.
        (resort_data): New variable.
        (register_local_specialization): Revert 2003-01-05 change.
        (instantiate_decl): Use hash_local_specialization when creating
        the local_specializations table.
-       
+
        * decl2.c (mark_used): Do not synthesize thunks.
 
        * class.c (layout_class_type): Correct handling of unnamed
        (register_local_specialization): Use htab_find_slot, not
        htab_find_slot_with_hash.
        (instantiate_decl): Pass a hash function to htab_create.
-       
+
 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * parser.c (cp_parser_binary_expression,
 
 2003-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
 
-       * cvt.c, decl.c, decl2.c: This is the C++ front end, not the C 
+       * cvt.c, decl.c, decl2.c: This is the C++ front end, not the C
        front end.
 
 2003-01-03  Matt Austern  <austern@apple.com>
        (finish_file): iterate only through keyed_classes list when
        deciding whether to emit vtables, remove class from its list after
        we do the emission.
-       
+
 2003-01-02  Jason Merrill  <jason@redhat.com>
 
        * call.c (build_conditional_expr): Stabilize lvalues properly.
 
        * parser.c (struct cp_parser): Add access_checks_lists field
        (cp_parser_simple_declaration): Use.
-       (cp_parser_init_declarator): Likewise. 
+       (cp_parser_init_declarator): Likewise.
 
 2003-01-02  Mark Mitchell  <mark@codesourcery.com>
 
 
 2002-08-11  Gabriel Dos Reis  <gdr@nerim.net>
 
-       * decl.c (duplicate_decls): Replace DECL_SOURCE_FILE +
+       * decl.c (duplicate_decls): Replace DECL_SOURCE_FILE
        DECL_SOURCE_LINE with DECL_SOURCE_LOCATION.
        * optimize.c (maybe_clone_body): Likewise.
        * pt.c (tsubst_enum): Likewise.
        * decl.c: Include c-common.h.
        (shadow_warning): Move to c-common.c.
 
-Wed Dec  5 17:00:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2001-12-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE.
 
@@ -6627,7 +8115,7 @@ Wed Dec  5 17:00:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in (c++.generated-manpages): New dummy target.
 
-Tue Nov 27 09:03:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2001-11-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in (cp-lang.o): Depends on c-common.h.
        * cp-lang.c (c-common.h): Include.
@@ -6891,7 +8379,7 @@ Tue Nov 27 09:03:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * 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>
+2001-10-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * cp-lang.c (cxx_get_alias_set): New function.
        Point LANG_HOOKS_GET_ALIAS_SET to it.
@@ -7163,7 +8651,7 @@ Tue Oct 23 14:00:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        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>
+2001-09-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in (CXX_C_OBJS): Add attribs.o.
 
@@ -7177,7 +8665,7 @@ Sat Sep 22 09:15:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * 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>
+2001-09-21  J"orn Rennecke <amylaar@redhat.com>
 
        * decl.c (grokdeclarator): Use C syntax for attr_flags declaration.
 
@@ -8391,7 +9879,7 @@ Fri Sep 21 08:16:19 2001  J"orn Rennecke <amylaar@redhat.com>
        * gxxint.texi: Remove.
        * Make-lang.in: Remove all traces of gxxint.texi.
 
-Mon Apr 30 16:14:10 2001  Mark P Mitchell  <mark@codesourcery.com>
+2001-04-30  Mark P Mitchell  <mark@codesourcery.com>
 
        * decl2.c (start_static_initialization_or_destruction): Correct
        logic to handle the -fno-use-cxa-atexit case.
@@ -8681,7 +10169,7 @@ Mon Apr 30 16:14:10 2001  Mark P Mitchell  <mark@codesourcery.com>
 
        * lang-specs.h: Add __DEPRECATED.
 
-Thu Apr  5 16:54:29 2001  J"orn Rennecke <amylaar@redhat.com>
+2001-04-05  J"orn Rennecke <amylaar@redhat.com>
 
        * search.c (get_dynamic_cast_base_type): When building a new
        constant, set its type to ssizetype.
@@ -9582,7 +11070,7 @@ Thu Apr  5 16:54:29 2001  J"orn Rennecke <amylaar@redhat.com>
 
        * Makefile.in (g++spec.o): Adjust use of DRIVER_DEFINES.
 
-Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2001-02-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * decl.c (pushdecl): Call abort instead of fatal.
        * except.c (decl_is_java_type): Call fatal_error instead of fatal.
@@ -10537,7 +12025,7 @@ Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        Cope when there is no partial instantiation of a template
        template member.
 
-Thu Nov 23 02:16:47 2000  J"orn Rennecke <amylaar@redhat.com>
+2000-11-23  J"orn Rennecke <amylaar@redhat.com>
 
        * Make-lang.in (g++spec.o, cxxmain.o): Depend on $(CONFIG_H).
 
@@ -10868,7 +12356,7 @@ Thu Nov 23 02:16:47 2000  J"orn Rennecke <amylaar@redhat.com>
        * typeck2.c (abstract_virtuals_error): Use "because" instead of
        "since" in error message.
 
-Fri Oct 20 13:54:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-10-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * typeck.c (dubious_conversion_warning): Suppress if TYPE_IS_SIZETYPE.
 
@@ -10937,7 +12425,7 @@ Fri Oct 20 13:54:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * dump.c (dequeue_and_dump): Dump TREE_USED.
 
-Tue Oct 17 20:19:06 2000  Brad Lucier <lucier@math.purdue.edu>
+2000-10-17  Brad Lucier <lucier@math.purdue.edu>
 
        * spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).
 
@@ -11175,7 +12663,7 @@ Tue Oct 17 20:19:06 2000  Brad Lucier <lucier@math.purdue.edu>
 
        * lex.c (reswords): Add _Complex.
 
-Thu Sep 14 12:10:45 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-09-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in (cplib2.txt): Depend on cp/Makefile.
 
@@ -12189,7 +13677,7 @@ Thu Sep 14 12:10:45 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        rest_of_decl_compilation, for local guards.
        * lex.c (do_identifier): Remove unused variable.
 
-Wed Jul 26 15:05:51 CEST 2000  Marc Espie <espie@cvs.openbsd.org>
+2000-07-26     Marc Espie <espie@cvs.openbsd.org>
 
        * parse.y:  Add missing ';'.
 
@@ -13214,7 +14702,7 @@ Wed Jul 26 15:05:51 CEST 2000   Marc Espie <espie@cvs.openbsd.org>
        * cp-tree.h (struct lang_type): Add user_align member.
        (CLASSTYPE_USER_ALIGN): Define.
 
-Tue Jun 13 15:48:03 2000  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+2000-06-13  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
 
        * Make-lang.in (c++.install-common): Install g++-cross in
        $(gcc_tooldir)/bin as g++ and c++; g++ in $(bindir) as
@@ -13390,7 +14878,7 @@ Tue Jun 13 15:48:03 2000  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
        Avoid unnecessary searching.
        (__dynamic_cast): Adjust for __dyncast_result::whole_details.
 
-Mon Jun  5 06:48:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-06-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * decl.c (init_decl_processing): Don't call record_component_aliases.
        * tree.c (build_cplus_array_type_1): Likewise.
@@ -13531,7 +15019,7 @@ Mon Jun  5 06:48:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * init.c (resolve_offset_ref): Remove check for TREE_ADDRESSABLE
        on FIELD_DECLs.
 
-Wed May 31 14:09:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-05-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * cp-tree.h (c_get_alias_set): Deleted.
        * Makefile.in (decl.o): Include ../expr.h.
@@ -13699,7 +15187,7 @@ Wed May 31 14:09:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in (cplib2.ready): Eradicate.
 
-Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * method.c (mangle_expression): Use TREE_CODE_LENGTH.
        * tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
@@ -13857,7 +15345,7 @@ Sat May 27 11:25:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * init.c (sort_member_init): Fix typo in error message generation
        code.
 
-Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
+2000-05-15  Donald Lindsay  <dlindsay@cygnus.com>
 
        * semantics.c (begin_class_definition): make the packed
        attribute be sensitive to the "-fpack-struct" command line flag
@@ -14077,7 +15565,7 @@ Mon May 15 11:46:29 2000  Donald Lindsay  <dlindsay@cygnus.com>
        reference.
        * typeck.c (build_component_ref): Fix formatting.
 
-Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+2000-05-17  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
@@ -14499,7 +15987,7 @@ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
        * decl2.c (grokfield): Issue error on illegal data member
        declaration.
 
-Mon Apr 17 17:11:16 2000  Mark P Mitchell  <mark@codesourcery.com>
+2000-04-17  Mark P Mitchell  <mark@codesourcery.com>
 
        * method.c (make_thunk): Set DECL_CONTEXT for a THUNK_DECL.
 
@@ -14536,7 +16024,7 @@ Mon Apr 17 17:11:16 2000  Mark P Mitchell  <mark@codesourcery.com>
        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>
+2000-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * decl2.c (parse_time, varconst_time): Delete declarations.
        (finish_file): Delete LINENO declaration.
@@ -15224,7 +16712,7 @@ Wed Apr  5 15:12:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        * 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>
+2000-03-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (check_field_decl): Fix typo.
        (build_vtbl_or_vbase_field): Don't clear DECL_SAVED_INSNS.
@@ -15259,7 +16747,7 @@ Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * dump.c (dequeue_and_dump): Dump DECL_TEMPLATE_RESULT.
 
-Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-03-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_vbase_pointer_fields): layout_field now place_field.
        (get_vfield_offset): Use byte_position.
@@ -15498,7 +16986,7 @@ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (note_name_declared_in_class): Use OVL_CURRENT to get at a
        potential overload.
 
-Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-03-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_vbase_path): Use integer_zerop.
        (build_vtable_entry): Use tree_low_cst.
@@ -15777,7 +17265,7 @@ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * typeck.c (dubious_conversion_warnings): Look through
        REFERENCE_TYPE.
 
-Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-03-06  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (dfs_modify_vtables): I is now unsigned.
        (check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int.
@@ -15922,7 +17410,7 @@ Mon Mar  6 08:46:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        push_eh_cleanup() when handling a Java-style "catch".  Pass Java
        class reference to build_catch_block.
 
-Thu Mar  2 13:32:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * typeck.c (comptypes): Treat sizetype like its language equivalent.
 
@@ -15951,7 +17439,7 @@ Thu Mar  2 13:32:01 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * class.c (resolve_address_of_overloaded_function): Pass desired
        return type to fn_type_unification.
 
-Mon Feb 28 08:15:23 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-02-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_vtbl_or_vbase_field, check_methods): Don't clear
        DECL_FIELD_SIZE.
@@ -15969,7 +17457,7 @@ Mon Feb 28 08:15:23 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (friend_accessible_p): Lose TYPE parm.
        (accessible_p): Adjust.
 
-Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-02-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop
        on things that are not sizes; ssize_binop deleted.
@@ -16056,7 +17544,7 @@ Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * 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>
+2000-02-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * lang-options.h (-fmessage-length=): Add missing option.
 
@@ -16066,7 +17554,7 @@ Sat Feb 26 19:50:23 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * Make-lang.in: Delete refs to LIBGCC2_DEPS.
 
-Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
+2000-02-25  Jim Wilson  <wilson@cygnus.com>
 
        * optimize.c (expand_call_inline): Emit the return label before
        evaluating the return value.
@@ -16195,7 +17683,7 @@ Fri Feb 25 14:52:33 2000  Jim Wilson  <wilson@cygnus.com>
 
        * pt.c (tsubst_decl): Fix formatting.
 
-Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+2000-02-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * class.c (build_primary_vtable, layout_vtable_decl): Likewise.
        (avoid_overlap, build_base_field): Likewise.
@@ -16466,7 +17954,7 @@ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * parse.y (simple_stmt): Allow :: token in asm parameter list.
        * parse.c: Rebuilt.
 
-Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
+2000-01-31  Jim Wilson  <wilson@cygnus.com>
 
        * class.c (build_vtbl_or_vbase_field): New parameter fcontext.
        Store it in DECL_FCONTEXT.
@@ -16678,12 +18166,12 @@ Mon Jan 31 15:35:29 2000  Jim Wilson  <wilson@cygnus.com>
        (build_vtbl_initializer): Likewise.
        * decl2.c (finish_file): Likewise.
 
-Thu Jan 27 20:53:36 2000  Jim Wilson  <wilson@cygnus.com>
+2000-01-27  Jim Wilson  <wilson@cygnus.com>
 
        * optimize.c (remap_decl): Add walk_tree calls for DECL_SIZE (t)
        and TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (t))).
 
-Thu Jan 27 13:54:12 2000  Mike Stump  <mrs@wrs.com>
+2000-01-27  Mike Stump  <mrs@wrs.com>
 
        * decl.c (pushdecl): Fix up shadow warnings with respect to implicit
        for scopes.
@@ -16692,7 +18180,7 @@ Thu Jan 27 13:54:12 2000  Mike Stump  <mrs@wrs.com>
 
        * pt.c (unify): Use fold, not maybe_fold_nontype_arg.
 
-Wed Jan 26 22:19:14 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+2000-01-26  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * optimize.c (calls_setjmp_r): Supply new argument
        to special_function_p.