OSDN Git Service

PR c++/9400
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index cb9c612..94fb884 100644 (file)
+2003-03-06  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9400
+       * decl.c (pushdecl): Don't check for shadowing of DECL_ARTIFICIAL
+       PARM_DECLs.
+
+       PR c++/9791
+       * class.c (get_basefndecls): Use lookup_fnfields_1.
+
+2003-03-06  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9188
+       * parser.c (cp_parser_type_parameter): Remove redundant `expect'
+       in error message.
+       (cp_parser_single_declaration): Likewise.
+
+2003-03-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9440
+       * call.c (build_conditional_expr): Use convert rather than an
+       explicit NOP_EXPR.
+
+2003-03-02  Matt Austern  <austern@apple.com>
+
+       * decl.c (cp_binding_level): Add static_decls varray member.
+       (add_decl_to_level): Add static/inline namespace scope
+       declarations to static_decls array.
+       (wrapup_global_for_namespace): Pass static_decls only, instead of
+       all decls, to wrapup_global_declarations/check_global_declarations.
+       (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  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config-lang.in: Replace ${libstdcxx_version} by its value.
+
+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.
+       
+2003-03-04  Tom Tromey  <tromey@redhat.com>
+
+       * Make-lang.in (c++.tags): New target.
+
+2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Make-lang.in: Update.
+
+2003-03-03  Jason Merrill  <jason@redhat.com>
+
+       * decl.c (finish_enum): Do set the type in a template. Simplify.
+       * pt.c (tsubst_enum, tsubst_copy): Revert last patch.
+
+2003-03-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9878
+       * call.c (convert_class_to_reference): Correct conversion
+       sequences.
+       (reference_binding): Add ref_bound_directly_to_rvalue_p parameter.
+       (implicit_conversion): Adjust call to reference_binding.
+       (add_candidate): Change type of candidates parameter.
+       (add_function_candidate): Likewise.
+       (add_conv_candidate): Likewise.
+       (build_builtin_candidate): Likewise.
+       (add_builtin_candidate): Likewise.
+       (add_builtin_candidates): Likewise.
+       (add_template_candidate_real): Likewise.
+       (add_template_candidate): Likewise.
+       (add_template_conv_candidate): Likewise.
+       (build_user_type_conversion_1): Adjust accordingly.
+       (build_object_call): Likewise.
+       (build_conditional_expr): Likewise.
+       (add_candidates): Likewise.
+       (build_new_op): Likewise.
+       (convert_like_real): Use USER_CONV_CAND.  Use build_nop.
+       (build_new_method_call): Adjust calls to add_function_candidate.
+       (make_temporary_var_for_ref_to_temp): New function.
+       (initialize_reference): Add decl parameter.
+       * class.c (build_rtti_vtbl_entries): Use build_address and
+       build_nop.
+       * cp-tree.h (initialize_reference): Change prototype.
+       (make_temporary_var_for_ref_to_temp): New function.
+       (build_type_conversion): Change prototype.
+       (build_address): New function.
+       (build_nop): Likewise.
+       * cvt.c (cp_convert_to_pointer): Adjust call to
+       build_type_conversion.  Avoid indicating redundant NOP_EXPRs.
+       Use build_nop.
+       (convert_to_pointer_force): Use build_nop.
+       (build_up_reference): Use make_temporary_var_for_ref_to_temp.
+       (convert_to_reference): Adjust call to build_type_conversion.
+       (ocp_convert): Likewise.
+       (build_type_conversion): Remove for_sure parameter.
+       * decl.c (grok_reference_init): Use initialize_reference.
+       * typeck.c (build_address): New function.
+       (build_nop): Likewise.
+       (build_unary_op): Use them.
+       (build_ptrmemfunc): Tidy slightly.
+       (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.
+
+       * class.c (get_vtable_decl): Use vtbl_type_node.
+       (build_primary_vtable): Check for it.
+
+2003-03-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * decl.c (check_initializer): Check for vector_opaque_p.
+
+2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
+
+       * lang-specs.h (default_compilers): Add -no-integrated-cpp flag to
+         invoke an external cpp during compilation.
+
+2003-03-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (duplicate_decls): Convert use of warning_with_decl() to
+       that of warning().
+       (start_decl): Likewise.
+       (start_function): Likewise.
+
+2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
+
+       * Make-lang.in (CXX_C_OBJS): Update.
+
+2003-02-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9892
+       * pt.c (instantiate_decl): Clear DECL_RTL for a VAR_DECL when
+       instantiating it.
+
+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.
+
+2003-02-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9879
+       * cp-tree.h (build_zero_init): Add parameter.
+       * decl.c (cp_finish_decl): Adjust call.
+       * init.c (build_zero_init): Add nelts parameter.  Adjust recursive
+       calls.
+       (build_default_init): Add nelts parameter.  Adjust calls to
+       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.
+       * 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
+       * decl2.c (prune_vars_needing_no_initialization): Do not throw
+       away initializations for DECL_EXTERNAL VAR_DECLs.
+       (finish_file): Adjust accordingly.
+       * pt.c (instantiate_decl): Do not defer VAR_DECLs.
+
+2003-02-24 Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (add_binding): Time TV_NAME_LOOKUP.
+       (push_class_binding): Likewise.
+       (set_namespace_binding): Likewise.
+
+2003-02-24  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9836
+       * cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): Do not skip from
+       specializations back to the main template.
+       * parser.c (cp_parser_diagnose_invalid_type_name):Adjust use.
+       * pt.c (resolve_typename_type): Likewise.
+
+2003-02-24  Jeffrey D. Oldham  <oldham@codesourcery.com>
+
+       PR c++/9778
+       * pt.c (tsubst_copy_and_build): For a templated function inside a
+       scope, process template arguments.
+
+2003-02-24  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9602
+       * typeck2.c (abstract_virtuals_error): Don't check when
+       TYPE is still template parameter dependent.
+
+2003-02-23  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/5333
+       * cp-tree.h (CLASSTYPE_PRIMARY_TEMPLATE): New macro.
+       * parser.c (cp_parser_diagnose_invalid_type_name): Use it.
+       * 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
+       * decl.c (grokdeclarator): Do not allow parameters with variably
+       modified types.
+
+2003-02-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * search.c (bfs_walk_grow): Remove. Fold into ...
+       (bfs_walk): ... here, fix fencepost error. Fix merge lossage
+       in previous patch.
+
+2003-02-20  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9729
+       * mangle.c (mangle_conv_op_name_for_type): Issue an error message
+       when the G++ 3.2 ABI prevents correct compilation.
+
+2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Change base class access representation. Share virtual base
+       binfos.
+       * cp/call.c (build_special_member_call): Remove binfo_for_vbase
+       call.
+       * cp/class.c (build_base_path): Likewise.
+       (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
+       (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
+       (make_new_vtable): Adjust.
+       (force_canonical_binfo_r): Delete.
+       (force_canonical_binfo): Delete.
+       (mark_primary_virtual_base): Delete.
+       (dfs_unshared_virtual_bases): Delete.
+       (mark_primary_bases): Adjust.
+       (maybe_warn_about_overly_private_class): Adjust.
+       (dfs_base_derived_from): Delete.
+       (base_derived_from): Follow the inheritance chain.
+       (struct find_final_overrider_data): Add vpath member.
+       (dfs_find_final_overrider): Adjust.
+       (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
+       (find_final_overrider): Adjust.
+       (update_vtable_entry_for_fn): Adjust.
+       (modify_all_vtables): Adjust.
+       (walk_subobject_offsets): Adjust.
+       (layout_nonempty_base_or_field): Adjust.
+       (layout_empty_base): Remove last parameter. Adjust.
+       (build_base_field): Adjust.
+       (build_base_fields): Adjust.
+       (propagate_binfo_offsets): Remove last parameter. Adjust.
+       (dfs_set_offset_for_unshared_vbases): Delete.
+       (layout_virtual_bases): Adjust.
+       (finish_struct_1): Adjust.
+       (init_class_processing): Don't init access nodes.
+       (dfs_get_primary_binfo): Delete.
+       (get_primary_binfo): Adjust.
+       (dump_class_hierarchy_r): Remove most derived arg, add IGO
+       parameter. Adjust.
+       (dump_class_hierarchy): Adjust.
+       (finish_vtbls): Adjust.
+       (get_original_base): Delete.
+       (build_vtt_inits): Adjust.
+       (dfs_build_secondary_vptr_vtt_inits): Adjust.
+       (dfs_ctor_vtable_bases_queue_p): Adjust.
+       (build_ctor_vtbl_group): Adjust.
+       (dfs_accumulate_vtbl_inits): Adjust.
+       (build_vtbl_initializer): Adjust.
+       (build_vbase_offset_vtbl_entries): Adjust.
+       (add_vcall_offset_vtbl_entries_1): Adjust.
+       * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
+       (access_*_node): Remove.
+       (CANONICAL_BINFO): Delete.
+       (BINFO_UNSHARED_MARKED): Remove.
+       (BINFO_MARKED): Set LANG_FLAG_0 directly.
+       (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
+       (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
+       (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
+       Delete.
+       (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
+       (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
+       (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
+       Delete.
+       (BINFO_DEPENDENT_BASE_P): New.
+       (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
+       index.
+       (markedp, unmarkedp): Adjust.
+       (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
+       dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
+       find_vbase_instance, binfo_for_vbase): Delete.
+       (copied_binfo, original_binfo): Declare.
+       (finish_base_specifier): Add virtual_p arg.
+       (unshare_base_binfos): Delete.
+       (copy_base_binfos): Declare.
+       (reverse_path): Delete.
+       * cp/decl.c (xref_basetypes): Access and virtuality passed
+       differently. Don't copy direct base binfos here. Call
+       copy_base_binfos.
+       * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
+       (initialize_vtbl_ptrs): Adjust.
+       (expand_member_init): Adjust.
+       * cp/parser.c (cp_parser_base_specifier): Adjust.
+       * cp/pt.c (instantiate_class_template): Adjust.
+       (get_template_base_recursive): Adjust.
+       * cp/rtti.c (get_pseudo_ti_init): Adjust.
+       (get_pseudo_ti_desc): Adjust.
+       * cp/tree.c (unshare_base_binfos): Rename to ...
+       (copy_base_binfos): ... here, reimplement.
+       (make_binfo): Set BINFO_DEPENDENT_BASE_P.
+       (reverse_path): Remove.
+       * cp/typeck.c (get_delta_difference): Adjust error messages.
+       * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
+       * cp/search.c (lookup_base_r): Adjust.
+       (dynamic_cast_base_recurse): Adjust.
+       (canonical_binfo): Remove.
+       (dfs_canonical_queue): Remove.
+       (dfs_assert_unmarked_p): Remove.
+       (assert_canonical_unmarked): Remove.
+       (shared_marked_p, shared_unmarked_p): Remove.
+       (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
+       (dfs_access_in_type): Adjust.
+       (access_in_type): Adjust.
+       (dfs_accessible_queue_p): Adjust.
+       (dfs_accessible_p): Adjust.
+       (is_subobject_of_p_1, is_subobject_of_p): Remove.
+       (struct lookup_field_info): Remove from_dep_base_p field.
+       (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
+       (lookup_field_r): Remove dependent base code.
+       (lookup_member): Likewise.
+       (dfs_walk, dfs_walk_real): Add access arg to queue fn.
+       (dfs_unmarked_real_bases_queue_p): Remove.
+       (dfs_marked_real_bases_queue_p): Remove.
+       (dfs_skip_vbases): Remove.
+       (dfs_get_pure_virtuals): Adjust.
+       (markedp, unmarkedp): Adjust.
+       (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
+       (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
+       (dfs_unmark): Adjust.
+       (dfs_get_vbase_types):Remove.
+       (dfs_build_inheritance_graph_order): Remove.
+       (get_vbase_types): Remove
+       (dfs_find_vbase_instance): Remove.
+       (find_vbase_instance): Remove.
+       (dfs_debug_unmarkedp): Adjust.
+       (dependent_base_p): Remove.
+       (dfs_push_type_decls): Adjust.
+       (dfs_push_decls): Adjust.
+       (dfs_no_overlap_yet): Adjust.
+       (copied_binfo): New function.
+       (original_binfo): New function.
+       (binfo_for_vbase): Remove.
+
+2003-02-18  Zack Weinberg  <zack@codesourcery.com>
+
+       * cp/search.c (grow_bfs_bases): New subroutine of bfs_walk.
+       (bfs_walk): Rewritten using circular queue of BINFO_BASETYPES
+       vectors, for speed.
+
+2003-02-18  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9704
+       * class.c (layout_class_type): In the 3.2 ABI, take into account
+       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.
+       (C_RID_YYCODE): Delete.
+       (finish_file): Delete redundant declaration.
+
+2003-02-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9623
+       * decl.c (reshape_init): Don't mess with initializer labels.
+
+       PR c++/9485
+       * parser.c (cp_parser_postfix_expression): Set idk properly for
+       object->scope::member.
+
+2003-02-18  Ben Elliston  <bje@redhat.com>
+
+       PR other/7350
+       * decl.c (duplicate_decls): Fix typo in comment.
+
+2003-02-17  Michael Elizabeth Chastain <mec@shout.net>
+
+       PR debug/9717
+       * class.c (build_base_field): Mark fields for base classes with
+       DECL_IGNORED_P.
+
+2003-02-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9457
+       * pt.c (tsubst_copy_and_build) [CONSTRUCTOR]: Substitute
+       CONSTRUCTOR_ELTS only once.
+
+2003-02-16  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9459
+       * error.c (dump_type_prefix): Handle TYPEOF_TYPE.
+       (dump_type_suffix): Likewise.
+
+2003-02-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * search.c: ANSIfy function declarations and definitions.
+       * cp-tree.h (lookup_field, lookup_member): Last parameter is a bool.
+       * call.c (build_method_call, resolve_scoped_fn_name,
+       build_java_interface_fn_ref): Adjust lookup_field, lookup_member
+       calls.
+       * class.c (handle_using_decl): Likewise.
+       * decl.c (make_typename_type, make_unmound_class_template,
+       start_decl, compute_array_index_type): Likewise.
+       * decl2.c (build_expr_from_tree, build_call_from_tree): Likewise.
+       * init.c (expand_member_init, build_member_call): Likewise.
+       * pt.c (tsubst_copy, tsubst_copy_and_build, do_decl_instantiation,
+       resolve_typename_type): Likewise.
+       * typeck.c (lookup_destructor, finish_class_member_access_exprm
+       build_prememfunc_access_expr): Likewise.
+
+2003-02-13  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * decl2.c: Include "timevar.h".
+       (namespace_ancestor): Time name lookup.
+       (add_using_namespace): Likewise.
+       (lookup_using_namespace): Likewise.
+       (qualified_lookup_using_namespace): Likewise.
+       (decl_namespace): Likewise.
+       (lookup_arg_dependent): Likewise.
+       * lex.c (do_identifier): Likewise.
+       (do_scoped_id): Likewise.
+       * pt.c (lookup_template_class): Likewise.
+
+2003-02-14   Andrew Pinski <pinskia@physics.uc.edu>
+
+        * 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".
+       (poplevel): Time name lookup.
+       (find_binding): Likewise.
+       (push_namespace): Likewise.
+       (pop_nested_namespace): Likewise.
+       (store_bindings): Likewise.
+       (maybe_push_to_top_level): Likewise.
+       (pop_from_top_level): Likewise.
+       (push_local_name): Likewise.
+       (pushtag): Likewise.
+       (pushdecl): Likewise.
+       (pushdecl_with_scope): Likewise.
+       (pushdecl_namespace_level): Likewise.
+       (pushdecl_top_level): Likewise.
+       (pushdecl_class_level): Likewise.
+       (push_class_level_binding): Likewise.
+       (push_using_decl): Likewise.
+       (push_using_directive): Likewise.
+       (push_overloaded_decl): Likewise.
+       (lookup_label): Likewise.
+       (define_label): Likewise.
+       (lookup_tag): Likewise.
+       (lookup_tag_reverse): Likewise.
+       (lookup_namespace_name): Likewise.
+       (select_decl): Likewise.
+       (unqualified_namespace_lookup): Likewise.
+       (lookup_name_real): Likewise.
+       (lookup_name_current_level): Likewise.
+       (lookup_type_current_level): Likewise.
+       (maybe_inject_for_scope_var): Likewise.
+       (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.
+
+2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * cp-tree.h (struct lang_type_header): Make all fields unsigned
+       char.
+
+2003-02-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/7129
+       * call.c (z_candidate): Add args.
+       (convert_class_to_reference): Set it.
+       (implicit_conversion): Tidy.
+       (add_candidate): Add args parameter.
+       (add_function_candidate): Adjust call to add_candidate.
+       (add_conv_candidate): Likewise.
+       (build_builtin_candidate): Likewise.
+       (build_user_type_conversion_1): Eliminate wasteful tree_cons
+       usage.
+       (build_new_function_call): Likewise.
+       (build_object_call): Likewise.
+       (add_candidates): New function.
+       (build_new_op): Use it.
+       (covert_like_real): Adjust call to build_over_call.
+       (build_over_call): Remove args parameter.
+       * operators.def: Add <?= and >?=.
+
+2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
+
+       * typeck.c (build_indirect_ref): Don't check flag_volatile.
+
+2003-01-31  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/8849
+       * pt.c (resolve_overloaded_unification): Handle FUNCTION_DECL.
+
+2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
+       BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
+       (BINFO_LANG_ELTS): New #define.
+       * tree.c (make_binfo): Use BINFO_LANG_ELTS.
+
+2003-01-30  Geoffrey Keating  <geoffk@apple.com>
+
+       * cp/Make-lang.in: Remove -Wno-error from cp/decl.o.
+
+2003-01-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (check_field_decls): Only check C_TYPE_FIELDS_READONLY
+       for class types.
+       * cp-tree.h (C_TYPE_FIELDS_READONLY): Use a lang-specific bit
+       rather than TYPE_LANG_FLAG_0.
+       (TYPE_BUILT_IN): Remove.
+       (TYPE_DEPENDENT_P): New macro.
+       (TYPE_DEPENDENT_P_VALID): Likewise.
+       (lang_type_class): Add fields_readonly.
+       * decl.c (record_builtin_type): Don't set TYPE_BUILT_IN.
+       * pt.c (dependent_type_p_r): New function, split out from ...
+       (dependent_type_p): ... here.  Memoize results.
+       * search.c (dependent_base_p): Use dependent_type_p, not
+       uses_template_parms.
+       * typeck.c (build_modify_expr): Only check C_TYPE_FIELDS_READONLY
+       for class types.
+
+2003-01-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * call.c (build_field_call): Use build_new_op, not build_opfncall.
+       (prep_operand): New function.
+       (build_new_op): Use it.  Remove dead code.
+       * class.c (pushclass): Change "modify" parameter type from int to
+       bool.
+       (currently_open_class): Use same_type_p, not pointer equality.
+       (push_nested_class): Adjust calls to pushclass, remove modify
+       parameter.
+       * cp-tree.h (INTEGRAL_OR_ENUMERATION_TYPE_P): New macro.
+       (pushclass): Change prototype.
+       (push_nested_class): Likewise.
+       (grokoptypename): Remove.
+       (build_opfncall): Remove.
+       (value_dependent_expression_p): Declare.
+       (resolve_typename_type): Likewise.
+       (resolve_typename_type_in_current_instantiation): Likewise.
+       (enter_scope_of): Remove.
+       (tsubst): Remove.
+       (tsubst_expr): Likewise.
+       (tsubst_copy): Likewise.
+       (tsubst_copy_and_build): Likewise.
+       * decl.c (warn_about_implicit_typename_lookup): Remove.
+       (finish_case_label): Return error_mark_node for erroneous labels.
+       (start_decl): Adjust calls to push_nested_class.
+       (grokfndecl): Call push_scope/pop_scope around call to
+       duplicate_decls.
+       (grokdeclarator): Do not call tsubst.
+       (start_function): Adjust calls to push_nested_class.
+       * decl2.c (grok_array_decl): Use build_new_op, not build_opfncall.
+       (check_classfn): Use push_scope/pop_scope around type comparisions.
+       (grokoptypename): Remove.
+       (push_sscope): Adjust call to push_nested_class.
+       * error.c (dump_type): Show cv-qualification of typename types.
+       * init.c (build_member_call): Use build_new_op, not
+       build_opfncall.
+       * method.c (build_opfncall): Remove.
+       * parser.c (cp_parser): Add allow_non_constant_expression_p and
+       non_constant_expression_p.
+       (cp_parser_constant_expression): Adjust prototype.
+       (cp_parser_resolve_typename_type): Remove.
+       (cp_parser_non_constant_expression): New function.
+       (cp_parser_non_constant_id_expression): Likewise.
+       (cp_parser_new): Set allow_non_constant_expression_p and
+       non_constant_expression_p.
+       (cp_parser_primary_expression): Reject `this' and `va_arg' in
+       constant-expressions.  Note that dependent names aren't really
+       constant.
+       (cp_parser_postfix_expression): Reject conversions to non-integral
+       types in constant-expressions.  Neither are increments or
+       decrements.
+       (cp_parser_unary_expression): Reject increments and decrements in
+       constant-expressions.
+       (cp_parser_direct_new_declarator): Adjust call to
+       cp_parser_constant_expression.
+       (cp_parser_cast_expression): Reject conversions to non-integral
+       types in constant-expressions.
+       (cp_parser_assignment_expression): Rejects assignments in
+       constant-expressions.
+       (cp_parser_expression): Reject commas in constant-expressions.
+       (cp_parser_labeled_statement): Adjust call to
+       cp_parser_constant_expression.
+       (cp_parser_direct_declarator): Simplify array bounds, even in
+       templates, when they are non-dependent.  Use
+       resolve_typename_type, not cp_parser_resolve_typename_type.
+       (cp_parser_class_head): Use resolve_typename_type, not
+       cp_parser_resolve_typename_type.
+       (cp_parser_member_declaration): Adjust call to
+       cp_parser_constant_expression.
+       (cp_parser_constant_initializer): Likewise.
+       (cp_parser_constructor_declarator): Use resolve_typename_type, not
+       cp_parser_resolve_typename_type.
+       (cp_parser_late_parsing_default_args): Adjust call to
+       push_nested_class.
+       * pt.c (tsubst): Give it internal linkage.
+       (tsubst_expr): Likewise.
+       (tsubst_copy): Likewise.
+       (tsubst_copy_and_build): Likewise.
+       (push_access_scope_real): Likewise.
+       (tsubst_friend_class): Likewise.
+       (instantiate_class_template): Adjust call to pushclass.
+       (value_dependent_expression_p): Give it external linkage.
+       Robustify.
+       (resolve_typename_type): New function.
+       * semantics.c (finish_call_expr): Use build_new_op, not
+       build_opfncall.
+       (begin_constructor_declarator): Remove.
+       (begin_class_definition): Adjust call to pushclass.
+       (enter_scope_of): Remove.
+       * typeck.c (comptypes): Resolve typename types as appropriate.
+       (build_x_indirect_ref): Use build_new_op, not build_opfncall.
+       (build_x_compound_expr): Likewise.
+       (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().
+
+2003-01-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/8591
+       * parser.c (cp_parser_elaborated_type_specifier): Convert
+       TEMPLATE_DECL to TYPE_DECL only when processing template friends.
+       (cp_parser_maybe_treat_template_as_class): Remove redundant tests.
+
+2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9437
+       * pt.c (unify): Don't unify '*T' with 'U C::*'.
+
+       PR c++/3902
+       * parser.c (cp_parser_decl_specifier_seq): Cannot have constructor
+       inside a declarator.
+
+2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * class.c (update_vtable_entry_for_fn): Add index parameter.
+       Generate vcall thunk for covariant overriding from a virtual
+       primary base.
+       (dfs_modify_vtables): Adjust.
+
+2003-01-25  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9403
+       * parser.c (cp_parser_class_or_namespace_name): Reject duplicate
+       template keyword.
+       (cp_parser_base_specifier): Look for and consume a
+       TEMPLATE keyword. Replace switch with array index.
+
+       PR c++/795
+       * semantics.c (finish_non_static_data_member): Remember the
+       field's type even in a template.
+
+       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.
+
+2003-01-25  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * cp-tree.h (flagged_type_tree_s): Remove.
+       (check_for_new_type): Likewise.
+       * typeck2.c (check_for_new_type): Likewise.
+
+2003-01-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * dump.c: ANSIfy function declarations and definitions.
+
+       * cp-tree.h, decl.h: Get rid of PARAMS.  Again.
+
+2003-01-22  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9354
+       * init.c (build_new): Set the type of the new-expression, even
+       when processing_templte_decl.
+
+       PR c++/9216
+       * parser.c (cp_parser_primary_expression): Improve error message
+       for templates used in an expression context.
+
+       PR c++/8696
+       * parser.c (cp_parser_decl_specifier_seq): Commit to tentative
+       parse when encountering "typedef".
+
+2003-01-22  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * class.c, parser.c: ANSIfy function definitions and declarations.
+
+2003-01-22  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9328
+       * error.c (dump_decl): For an OVERLOAD, just print the name of the
+       function; it doesn't make sense to try to print its type.
+       * semantics.c (finish_typeof): Issue errors about invalid uses.
+
+       PR c++/9298
+       * parser.c (cp_parser_consume_semicolon_at_end_of_statement): New
+       function.
+       (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
+       * parser.c (cp_parser_using_declaration): Issue error messages
+       about name resolution failures here.
+
+       PR c++/9388
+       * class.c (currently_open_derived_class): Use dependent_type_p.
+       * cp-tree.h (dependent_type_p): New function.
+       (dependent_template_arg_p): Likewise.
+       (dependent_template_p): Likewise.
+       (type_dependent_expression_p): Likewise.
+       * parser.c (cp_parser_dependent_type_p): Remove.
+       (cp_parser_value_dependent_type_p): Likewise.
+       (cp_parser_type_dependent_expression_p): Likewise.
+       (cp_parser_dependent_template_arg_p): Likewise.
+       (cp_parser_dependent_template_id_p): Likewise.
+       (cp_parser_dependent_template_p): Likewise.
+       (cp_parser_diagnose_invalid_type_name): Replace
+       cp_parser_dependent_type_p with dependent_type_p, etc.
+       (cp_parser_primary_expresion): Likewise.
+       (cp_parser_nested_name_specifier_opt): Likewise.
+       (cp_parser_postfix_expression): Likewise.
+       (cp_parser_unary_expression): Likewise.
+       (cp_parser_template_name): Likewise.
+       (cp_parser_class_name): Likewise.
+       (cp_parser_lookup_name): Likewise.
+       * pt.c (dependent_type_p): New function.
+       (value_dependent_expression_p): Likewise.
+       (type_dependent_expression_p): Likewise.
+       (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.
+
+2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       Make-lang.in (cp/decl.o-warn): Add -Wno-error.
+
+2003-01-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9167, c++/9358
+       * decl.c (require_complete_types_for_parms): Also update DECL_ARG_TYPE.
+
+2003-01-17  Jason Merrill  <jason@redhat.com>
+
+       PR c++/9342
+       * call.c (build_conditional_expr): Always do lvalue-rvalue
+       conversion.
+
+2003-01-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9294
+       * cp-tree.def (BASELINK): Make it class 'x', not class 'e'.
+       * cp-tree.h (BASELINK_BINFO): Adjust.
+       (BASELINK_FUNCTIONS): Likewise.
+       (BASELINK_ACCESS_BINFO): Likewise.
+       (tree_baselink): New structure.
+       (cp_tree_node_structure_enum): Add TS_CP_BASELINK.
+       (lang_tree_node): Add baselink.
+       * decl.c (cp_tree_node_structure): Add BASELINK case.
+       * search.c (build_baselink): Adjust.
+       * tree.c (cp_walk_subtrees): Add BASELINK case.  Remove BASELINK_P
+       test from TREE_LIST case.
+
+       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.
+
+       * rtti.c (get_pseudo_ti_desc): Fix thinko.
+
+2003-01-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/8564
+       * init.c (build_vec_init): Re-add maxindex parm.
+       (perform_member_init, build_aggr_init): Pass it.
+       (build_new_1): Pass it. Use an incomplete array type for full_type.
+       * typeck.c (build_modify_expr): Pass it.
+       * cp-tree.h: Adjust.
+
+2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
+
+       * cp-tree.h (tsubst_copy_and_build): New declaration.
+       * pt.c (tsubst_copy): Remove 'build_expr_from_tree' from comment.
+       (tsubst_expr): Use 'tsubst_copy_and_build'.  Update initial comment.
+       (tsubst_copy_and_build): New function.
+
+2003-01-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (lang_type_class): Remove is_partial_instantiation.
+       (PARTIAL_INSTANTIATION_P): Remove.
+       (IMPLICIT_TYPENAME_P): Likewise.
+       (IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
+       (build_typename_type): Remove declaration.
+       (parmlist_is_exprlist): Likewise.
+       * decl.c (build_typename_type): Make it static, remove third
+       parameter.
+       (push_class_binding): Don't do implicit typename stuff.
+       (make_typename_type): Likewise.
+       (lookup_name_real): Likewise.
+       (grokdeclarator): Don't try to convert declarations into
+       initializations.  Don't do implicit typename stuff.
+       (parmlist_is_exprlist): Remove.
+       (xref_basetypes): Simplify.
+       * decl2.c (grokfield): Don't try to convert declarations into
+       initializations.
+       (build_anon_union_vars): Do this while processing templates, too.
+       (finish_anon_union): Likewise.
+       * error.c (dump_type): Remove implicit typename handling.
+       * parser.c (cp_parser_diagnose_invalid_type_name): New method.
+       (cp_parser_primary_expression): Correct handling of names not
+       found by unqualified name lookup in templates.
+       (cp_parser_nested_name_specifier_opt): Avoid checking dependency
+       of types when possible.
+       (cp_parser_simple_declaration): Complain intelligently about some
+       invalid declarations.
+       (cp_parser_member_declaration): Likewise.
+       (cp_parser_constructor_declarator_p): Don't check when we're in a
+       function scope.
+       * pt.c (instantiate_class_template): Remove
+       PARTIAL_INSTANTIATION_P gunk.
+       * search.c (lookup_field_r): Don't build implicit typenames.
+       (marked_pushdecls_p): Don't enter dependent base types.
+       (unmarked_pushdecls_p): Likewise.
+       * semantics.c (begin_class_definition): Remove implicit typename
+       stuff.
+
+2003-01-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9212
+       * parser.c (cp_parser_direct_declarator): If accepting either
+       abstract or named, the name must be an unqualified-id.
+
+2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * class.c (layout_virtual_bases): Avoid signed/unsigned warning.
+
+2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl2.c (check_classfn): Fix uninitialized warning.
+       (build_anon_union_vars): Likewise.
+       * pt.c (tsubst_copy): Likewise.
+
+2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
+
+       Further conform g++'s __vmi_class_type_info to the C++ ABI
+       specification.
+       * rtti.c (dfs_class_hint_mark): Do not set hints not specified by
+       the specification.
+       (class_hint_flags): Likewise.
+
+2003-01-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * config-lang.in: Add semantics.c to gtfiles.
+       * cp-tree.h (flagged_type_tree_s): Remove lookups field.
+       (saved_scope): Likewise.
+       (type_lookups): Remove.
+       (deferred_access): New structure.
+       (type_access_control): Remove.
+       (save_type_access_control): Likewise.
+       (reset_type_access_control): Likewise.
+       (decl_type_access_control): Likewise.
+       (push_deferring_access_checks): Declare.
+       (resume_deferring_access_checks): Likewise.
+       (stop_deferring_access_checks): Likewise.
+       (pop_deferring_access_checks): Likewise.
+       (get_deferred_access_checks): Likewise.
+       (pop_to_parent_deferring_access_checks): Likewise.
+       (perform_deferred_access_checks): Likewise.
+       (perform_or_defer_access_check): Likewise.
+       * decl.c (make_typename_type): Use perform_or_defer_access_check.
+       (make_unbound_class_template): Likewise.
+       (grokdeclarator): Don't call decl_type_access_control.
+       * parser.c (cp_parser_context): Remove deferred_access_checks
+       and deferring_access_checks_p fields.
+       (cp_parser_context_new): Adjust.
+       (cp_parser): Remove access_checks_lists.
+       (cp_parser_defer_access_check): Remove.
+       (cp_parser_start_deferring_access_checks): Remove.
+       (cp_parser_stop_deferring_access_checks): Remove.
+       (cp_parser_perform_deferred_access_checks): Remove.
+       (cp_parser_nested_name_specifier_opt): Use new deferred access
+       functions.
+       (cp_parser_simple_declaration): Likewise.
+       (cp_parser_template_id): Likewise.
+       (cp_parser_function_definition): Likewise.
+       (cp_parser_class_specifier): Likewise.
+       (cp_parser_lookup_name): Likewise.
+       (cp_parser_single_declaration): Likewise.
+       (cp_parser_pre_parsed_nested_name_specifier): Likewise.
+       (cp_parser_parse_tentatively): Likewise.
+       (cp_parser_parse_definitely): Likewise.
+       (yyparse): Likewise.
+       (cp_parser_init_declarator): Remove access_checks parameter.
+       Use new deferred access functions.
+       (cp_parser_function_definition_from_specifiers_and_declarator):
+       Likewise.
+       (cp_parser_class_head): Remove deferring_access_checks_p and
+       saved_access_checks parameters.  Use new deferred access functions.
+       (cp_parser_member_specification_opt): Don't call
+       reset_type_access_control.
+       * search.c (type_access_control): Remove.
+       * semantics.c: Include "gt-cp-semantics.h".
+       (deferred_type_access_control): Remove.
+       (deferred_access_stack): New variable.
+       (deferred_access_free_list): Likewise.
+       (push_deferring_access_checks): New function.
+       (resume_deferring_access_checks): Likewise.
+       (stop_deferring_access_checks): Likewise.
+       (pop_deferring_access_checks): Likewise.
+       (get_deferred_access_checks): Likewise.
+       (pop_to_parent_deferring_access_checks): Likewise.
+       (perform_deferred_access_checks): New function, adapted from
+       cp_parser_perform_deferred_access_checks.
+       (perform_or_defer_access_check): New function, adapted from
+       cp_parser_defer_access_check.
+       (current_type_lookups): Remove.
+       (deferred_type_access_control): Likewise.
+       (decl_type_access_control): Likewise.
+       (save_type_access_control): Likewise.
+       (reset_type_access_control): Likewise.
+       (begin_function_definition): Adjust.
+       (begin_class_definiton): Likewise.
+
+2003-01-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/8748
+       * class.c (build_base_path): Take the address before calling save_expr.
+
+       * call.c (build_user_type_conversion_1): Do set ICS_BAD_FLAG if
+       all the ambiguous conversions are bad.
+
+       * class.c (maybe_warn_about_overly_private_class): Don't stop
+       searching when we find a nonprivate method.
+
+       * typeck.c (build_class_member_access_expr): Use unary_complex_lvalue.
+
+2003-01-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (get_arglist_len_in_bytes): Remove.
+
+       PR c++/9264
+       * parser.c (cp_parser_elaborated_type_specifier): Handle erroneous
+       typeame types more robustly.
+
+2003-01-11  Phil Edwards  <pme@gcc.gnu.org>
+
+       * parser.c:  Fix comment typos.
+
+2003-01-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9099
+       * parser.c (cp_parser_scope_through_which_access_occurs): Handle
+       an object_type which is not a class type.
+
+2003-01-10  Geoffrey Keating  <geoffk@apple.com>
+
+       * parser.c (cp_parser_late_parsing_for_member): Don't cast to void.
+       (cp_parser_late_parsing_default_args): Likewise.
+
+2003-01-10  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * cfns.gperf: ANSIfy function declarations.
+       * cfns.h: Regenerate.
+       * cp-tree.h: ANSIfy function declarations.
+
+2003-01-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (reparse_absdcl_as_expr): Remove.
+       (reparse_absdcl_as_casts): Likewise.
+       (reparse_decl_as_expr): Likewise.
+       (finish_decl_parsing): Likewise.
+       * decl2.c (reparse_absdcl_as_expr): Remove.
+       (reparse_absdcl_as_casts): Likewise.
+       (repase_decl_as_expr): Likewise.
+       (finish_decl_parsing): Likewise.
+
+       PR c++/9128
+       PR c++/9153
+       PR c++/9171
+       * parser.c (cp_parser_pre_parsed_nested_name_specifier): New
+       function.
+       (cp_parser_nested_name_specifier_opt): Correct the
+       check_dependency_p false.
+       (cp_parser_postfix_expression): Fix formatting.
+       (cp_parser_decl_specifier_seq): Avoid looking for constructor
+       declarators when possible.
+       (cp_parser_template_id): Avoid performing name-lookup when
+       possible.
+       (cp_parser_class_head): Do not count specializations when counting
+       levels of templates.
+       (cp_parser_constructor_declarator_p): Return immediately if
+       there's no chance that the tokens form a constructor declarator.
+       * rtti.c (throw_bad_typeid): Add comment.  Do not return an
+       expression with reference type.
+       (get_tinfo_decl_dynamic): Do not return an expression with
+       reference type.
+       (build_typeid): Add comment.  Do not return an expression with
+       reference type.
+       * typeck.c (build_class_member_access_expr): Improve handling of
+       conditionals and comma-expressions as objects.
+
+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.
+
+       * decl.c (bad_specifiers): Fix parameter order error I introduced.
+
+2003-01-09  Geoffrey Keating  <geoffk@apple.com>
+
+       Merge from pch-branch:
+
+       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,
+       read first token here.  Don't allow PCH files after the first
+       token is read.
+       (cp_lexer_new_from_tokens): Duplicate functionality from cp_lexer_new.
+       (cp_lexer_get_preprocessor_token): Allow LEXER to be NULL.
+       (cp_parser_new): Call cp_lexer_new_main before allocating GCed memory.
+       (cp_parser_late_parsing_for_member): Don't duplicate call to
+       cp_lexer_set_source_position_from_token.
+       (cp_parser_late_parsing_default_args): Likewise.
+       (yyparse): Call finish_file after clearing the_parser.
+
+       2002-12-11  Geoffrey Keating  <geoffk@apple.com>
+
+       * Make-lang.in: Remove $(GGC_H) from all dependencies.
+       (CXX_TREE_H): Add $(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.
+       (resort_field_decl_cmp): New.
+       (resort_method_name_cmp): New.
+       (resort_sorted_fields): New.
+       (resort_type_method_vec): New.
+       (finish_struct_methods): Delete cast.
+       (finish_struct_1): Delete cast.
+       * cp-tree.h: Include ggc.h.
+       (struct lang_type_class): Add reorder attribute to field `methods'.
+       (union lang_decl_u3): Add reorder attribute to field `sorted_fields'.
+       (resort_sorted_fields): New prototype.
+       (resort_type_method_vec): New prototype.
+       * call.c: Don't include ggc.h.
+       * decl.c: Likewise.
+       * decl2.c: Likewise.
+       * init.c: Likewise.
+       * lex.c: Likewise.
+       * method.c: Likewise.
+       * optimize.c: Likewise.
+       * parse.y: Likewise.
+       * pt.c: Likewise.
+       * repo.c: Likewise.
+       * search.c: Likewise.
+       * semantics.c: Likewise.
+       * spew.c: Likewise.
+       * tree.c: Likewise.
+
+       * lang-specs.h: Remove comment.
+
+       2002-12-03  Geoffrey Keating  <geoffk@apple.com>
+
+       * cp-tree.h (struct operator_name_info_t): Mark for GTY machinery.
+       (operator_name_info): Mark to be saved for PCH, specify size.
+       (assignment_operator_name_info): Likewise.
+
+       2002-11-19  Geoffrey Keating  <geoffk@apple.com>
+
+       * decl.c (anon_cnt): Mark to be saved for PCH.
+
+       2002-10-25  Geoffrey Keating  <geoffk@apple.com>
+
+       * lex.c  (init_reswords): Delete now-untrue comment.
+       Allocate ridpointers using GGC.
+
+       2002-10-04  Geoffrey Keating  <geoffk@apple.com>
+
+       * cp-tree.h (union lang_decl_u2): Add tags to all fields.
+
+       * g++spec.c (lang_specific_driver): Don't include standard
+       libraries in `added'.
+
+       2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
+
+       * decl2.c (finish_file): Call c_common_write_pch.
+       * Make-lang.in (CXX_C_OBJS): Add c-pch.o.
+
+       2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
+
+       * g++spec.c (lang_specific_driver): Treat .h files as C++ header
+       files when using g++.
+       * lang-specs.h: Handle compiling C++ header files.
+
+2003-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (start_decl): Only check DECL_THREAD_LOCAL for VAR_DECLs.
+
 2003-01-09  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
 
        * pt.c (push_access_scope_real): Call push_to_top_level for