OSDN Git Service

PR c/13134
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index b7d65fe..b9a0638 100644 (file)
@@ -1,3 +1,873 @@
+2003-12-08  Matt Austern  <austern@apple.com>
+
+       PR c/13134
+       * decl.c (duplicate_decls): Copy visibility flag when appropriate.
+       
+2003-12-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>\r
+\r
+       * init.c (build_new_1): Deal with an OVERLOAD set when\r
+       looking up for _Jv_AllocObject.\r
+       * except.c (build_throw): Likewise for _Jv_Throw.\r
+
+2003-12-08  Jason Merrill  <jason@redhat.com>
+
+       PR c++/11971
+       * tree.c (build_local_temp): Split out from build_cplus_new.
+       (force_target_expr): New fn.
+       * call.c (call_builtin_trap): Call it.  Take a type parm.
+       (convert_arg_to_ellipsis): Pass it.
+       (build_x_va_arg): Use call_builtin_trap.
+
+       PR c++/11929
+       * call.c (magic_varargs_p): New fn.
+       (build_over_call): Do no ellipsis conversions for arguments to 
+       functions with magic varargs.
+
+       * name-lookup.c, init.c, except.c: Revert Giovanni's patch from
+       yesterday.
+
+       Give the anonymous namespace a null DECL_NAME.
+       * cp-tree.h: Don't declare anonymous_namespace_name.
+       * decl.c: Don't define it.
+       * dump.c (cp_dump_tree): Don't check for it.
+       * cxx-pretty-print.c (pp_cxx_original_namespace_definition): Likewise.
+       * error.c (dump_decl): Likewise.
+       * name-lookup.c: Define it here.
+       (push_namespace): Put it in DECL_ASSEMBLER_NAME instead.
+       * mangle.c (write_unqualified_name): Adjust.
+
+2003-12-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/2294
+       * name-lookup.c (push_overloaded_decl): Always construct an
+       OVERLOAD unless the declaration is a built-in.
+       (set_namespace_binding): While binding OVERLOADs with only one
+       declaration, we still need to call supplement_binding.
+       * init.c (build_new_1): Deal with an OVERLOAD set when
+       looking up for _Jv_AllocObject.
+       * except.c (build_throw): Likewise for _Jv_Throw.
+
+2003-12-06  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/13323
+       * class.c (same_signature_p): Handle conversion operators
+       correctly.
+       (check_for_override): Likewise.
+
+2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in (GXX_CROSS_NAME, CXX_CROSS_NAME): Delete.
+       (c++.install_common, cp/g++.1, c++.install-man): Adjust for above.
+       (c++.uninstall): Likewise.
+
+2003-12-05  Danny Smith <dannysmith@gcc.gnu.org>
+           Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/13305
+       * parser.c (cp_parser_elaborated_type_specifier): Accept
+       attributes.
+       
+2003-12-05  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/13314
+       * parser.c (cp_parser_class_specifier): Match push_scope/pop_scope
+       calls.
+       (cp_parser_class_head): Likewise.
+
+2003-12-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/13166
+       * parser.c (cp_parser_late_parsing_default_args): Make sure the
+       context is a class before calling push_nested_class and
+       pop_nested_class.
+
+2003-12-03  James E Wilson  <wilson@specifixinc.com>
+
+       * g++spec.c (lang_specific_driver): Delete USE_LIBUNWIND_EXCEPTIONS
+       support.
+
+2003-12-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9127
+       * cp-tree.h (at_namespace_scope_p): New function.
+       * parser.c (cp_parser_class_head): Handle invalid explicit
+       specializations.
+       * search.c (at_namespace_scope_p): New function.
+
+       PR c++/13179
+       * semantics.c (finish_handler_parms): Do not call eh_type_info for
+       types used in templates.
+
+       PR c++/10771
+       * parser.c (cp_parser_check_for_invalid_template_id): New
+       function.
+       (cp_parser_simple_type_specifier): Use it.
+       (cp_parser_elaborated_type_specifier): Likewise.
+       (cp_parser_class_head): Likewise.
+
+2003-12-02  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/10126
+       * pt.c (convert_nontype_argument): Handle default conversions
+       while converting a pointer to member function.
+
+2003-12-02  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR c++/12573
+       * pt.c (value_dependent_expression_p): Handle COMPONENT_REFs by
+       looking into them recursively.
+
+2003-12-02  Richard Henderson  <rth@redhat.com>
+
+       * name-lookup.h (struct cp_binding_level): Use ENUM_BITFIELD.
+        * parser.c (struct cp_token): Likewise.   
+        (struct cp_parser_token_tree_map_node): Likewise.
+       * lex.c (struct resword): Move const after ENUM_BITFIELD.
+
+2003-11-30  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/9849
+       * parser.c (cp_lexer_prev_token): New function.
+       (cp_parser_skip_to_closing_parenthesis): Add consume_paren
+       parameter.
+       (cp_parser_nested_name_specifier_opt): Add is_declaration
+       parameter.
+       (cp_parser_nested_name_specifier): Likewise.
+       (cp_parser_class_or_namespace_name): Likewise.
+       (cp_parser_class_name): Likewise.
+       (cp_parser_template_id): Likewise.
+       (cp_parser_template_name): Likewise.
+       (cp_parser_id_expression): Adjust calls to
+       cp_parser_nested_name_specifier_op, cp_parser_template_id,
+       cp_parser_class_name.
+       (cp_parser_unqualified_id): Likewise.
+       (cp_parser_postfix_expression): Likewise.
+       (cp_parser_pseudo_destructor_name): Likewise.
+       (cp_parser_cast_expression): Likewise.
+       (cp_parser_mem_initializer_id): Likewise.
+       (cp_parser_simple_type_specifier): Likewise.
+       (cp_parser_type_name): Likewise.
+       (cp_parser_elaborated_type_specifier): Likewise.
+       (cp_parser_qualified_namespace_specifier): Likewise.
+       (cp_parser_using_declaration): Likewise.
+       (cp_parser_using_directive): Likewise.
+       (cp_parser_ptr_operator): Likewise.
+       (cp_parser_declarator_id): Likewise.
+       (cp_parser_class_head): Likewise.
+       (cp_parser_base_specifier): Likewise.
+       (cp_parser_constructor_declarator_p): Likewise.
+       (cp_parser_direct_declarator): Fix typo in comment.
+       (cp_parser_parenthesized_expression_list): Adjust call to
+       cp_parser_skip_to_closing_parenthesis.
+       (cp_parser_selection_statement): Likewise.
+
+2003-11-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12924
+       * typeck.c (finish_class_member_access_expr): Handle TEMPLATE_ID_EXPR
+       with OVERLOAD and DECL nodes as the first operand.
+
+2003-11-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (tsubst) <ARRAY_REF>: Remove erroneous argument to build_nt.
+
+2003-11-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/5369
+       * friend.c (is_friend): Handle member function of a class
+       template as template friend.
+       (do_friend): Likewise.
+       * decl2.c (check_classfn): Add template_header_p parameter.
+       * decl.c (start_decl): Adjust check_classfn call.
+       (grokfndecl): Likewise.
+       * pt.c (is_specialization_of_friend): New function.
+       (uses_template_parms_level): Likewise.
+       (push_template_decl_real): Use uses_template_parms_level.
+       (tsubst_friend_function): Adjust check_classfn call.
+       * cp-tree.h (check_classfn): Adjust declaration.
+       (uses_template_parms_level): Add declaration.
+       (is_specialization_of_friend): Likewise.
+
+2003-11-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12515
+       * pt.c (build_non_dependent_expr): Handle GNU extension to ?:
+       operator.
+
+2003-11-21  Jan Hubicka  <jh@suse.cz>
+
+       * parser.c (cp_parser_postfix_expression): Initialize 's' to
+       NULL_TREE.
+
+2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * Make-lang.in (c++.extraclean): Delete.
+
+2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * Make-lang.in (check-g++, lang_checks): Add.
+
+2003-11-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12932
+       * class.c (currently_open_derived_class): Check if
+       current_class_type is NULL_TREE.
+       * semantics.c (finish_call_expr): Check if
+       currently_open_derived_class returns NULL_TREE.
+       * cp-tree.h (DERIVED_FROM_P): Add parenthesis around PARENT
+       parameter.
+
+2003-11-17  Jason Merrill  <jason@redhat.com>
+
+       * init.c (build_new_1): Preevaluate placement args.
+       * call.c (build_op_delete_call): Don't expose placement args to
+       overload resolution.
+
+2003-11-16  Jason Merrill  <jason@redhat.com>
+
+       * Make-lang.in (c++.tags): Create TAGS.sub files in each directory
+       and TAGS files that include them for each front end.
+
+2003-11-15  Bernardo Innocenti  <bernie@develer.com>
+
+       PR c++/2294
+       * name-lookup.c: Revert previous patch for PR c++/2294 to prevent
+       build failure on libjava.
+
+2003-11-14  Giovanni Bajo  <giovannibajo@libero.it>
+
+        PR c++/2294
+        * name-lookup.c (push_overloaded_decl): Always construct an OVERLOAD
+        unless the declaration is a built-in.
+        (set_namespace_binding): While binding OVERLOADs with only one
+        declaration, we still need to call supplement_binding.
+
+2003-11-14  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12762
+       * parser.c (cp_parser_enclosed_template_argument_list): New
+       function.
+       (cp_parser_template_id): Use it.
+       (cp_parser_simple_type_specifier): Recognize invalid template
+       syntax.
+
+2003-11-14  Giovanni Bajo  <giovannibajo@libero.it>
+
+        PR c++/2094
+        * pt.c (unify): Add support for PTRMEM_CST and
+        FIELD_DECL unification.
+
+2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * decl.c (grokfndecl): Change OK to type tree.
+
+2003-11-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (build_target_expr_with_type): Treate VA_ARG_EXPR like
+       CONSTRUCTOR.
+
+       * decl.c (cp_make_fname_decl): When creating a top-level
+       __FUNCTION__-like symbol, do register it with pushdecl.
+
+       * decl.c (finish_case_label): Do not check that we are within a
+       switch statement here.
+       * parser.c (struct cp_parser): Add in_iteration_statement_p and
+       in_switch_statement_p.
+       (cp_parser_new): Initialize them.
+       (cp_parser_labeled_statement): Check validity of case labels
+       here.
+       (cp_parser_selection_statement): Set in_switch_statement_p.
+       (cp_parser_iteration_statement): Set in_iteration_statement_p.
+       (cp_parser_jump_statement): Check validity of break/continue
+       statements here.
+
+       PR c++/12735
+       * cp-tree.h (duplicate_decls): Return a tree.
+       * decl.c (duplicate_decls): Clarify documentation.  Return
+       error_mark_node to indicate a failed redeclaration.
+       * friend.c (do_friend): Handle that case.
+       * name-lookup.c (pushdecl): Likewise.
+
+2003-11-11  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (DECL_NAMESPACE_ASSOCIATIONS): New macro.
+       * name-lookup.c (parse_using_directive): New fn.
+       (is_associated_namespace): New fn.
+       (arg_assoc_namespace): Also check associated namespaces.
+       * name-lookup.h: Declare new fns.
+       * pt.c (maybe_process_partial_specialization): Allow
+       specialization in associated namespace.
+       * parser.c (cp_parser_using_directive): Accept attributes.  Use
+       parse_using_directive.
+
+2003-11-10  Richard Henderson  <rth@redhat.com>
+
+       * cvt.c (convert_to_void): Use void_zero_node after overload failure.
+
+2003-11-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       PR c++/12832
+       * name-lookup.c (supplement_binding): Gracefully handle names
+       used at non-class scope prior declaration.
+
+2003-11-06  Matt Austern  <austern@apple.com>
+
+       * decl.c (duplicate_decls): copy DECL_VISIBILITY field.
+       * method.c (use_thunk): give thunk same visibility as function.
+       * optimize.c (maybe_clone_body): copy DECL_VISIBILITY field.
+       
+2003-11-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/11616
+       * pt.c (instantiate_pending_templates): Save and restore
+       input_location.
+
+2003-11-05  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/2019
+       * friend.c (add_friend): Don't display previous declaration in
+       case of duplicate friend warning.
+
+2003-11-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9810
+       * call.c (build_over_call): Check access using primary template
+       if FN is a member function template.
+
+2003-11-01  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12796
+       * class.c (handle_using_decl): Set input_location before calling
+       error_not_base_type.
+
+2003-10-26  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/10371
+       * semantics.c (finish_non_static_data_member): Handle when
+       both processing_template_decl and qualifying_scope are true.
+
+2003-10-24  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/11076
+       * class.c (handle_using_decl): Swap arguments of error_not_base_type.
+       * parser.c (cp_parser_direct_declarator): Only resolve typename for
+       namespace scope declarations.
+
+2003-10-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/12698, c++/12699, c++/12700, c++/12566
+       * cp-tree.h (THUNK_ALIAS_P, THUNK_ALIAS): New.
+       (debug_class, debug_thunks): New.
+       * class.c (dump_class_hierarchy_1): New break out from ...
+       (dump_class_hierarchy): ... here.
+       (dump_thunk, debug_thunks, debug_class): New.
+       (update_vtable_entry_for_fn): Add ssizetype casts. Correct
+       continued search for primary binfo via virtual.
+       (build_vtbl_initializer): Follow covariant thunk alias.
+       * method.c (make_thunk): Clear DECL_THUNKS of the thunk.
+       (finish_thunk): Look for an alias of the covariant thunk and point
+       to it.
+       (use_thunk): We should never use an alias.
+       * semantics.c (emit_associated_thunks): Do not emit aliases.
+
+       PR c++/12566
+       * cp-tree.h (cp_fname_init): Add TYPE pointer param.
+       * decl.c (cp_fname_init): Add TYPE pointer param. Set it. Don't
+       create an ad-hoc ERROR_MARK.
+       (cp_make_fname_decl): Adjust.
+       * pt.c (tsubst_expr): Adjust.
+
+2003-10-23  Jason Merrill  <jason@redhat.com>
+
+       PR c++/12726
+       * tree.c (build_target_expr_with_type): Don't call force_rvalue
+       for CONSTRUCTORs.
+
+2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * call.c: Fix comment formatting.
+       * class.c: Likewise.
+       * cxx-pretty-print.c: Likewise.
+       * init.c: Likewise.
+       * parser.c: Likewise.
+       * pt.c: Likewise.
+       * semantics.c: Likewise.
+       * tree.c: Likewise.
+       * typeck.c: Likewise.
+       * typeck2.c: Likewise.
+
+2003-10-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/11962
+       * typeck.c (build_x_conditional_expr): Handle missing middle
+       operands in templates.
+       * mangle.c (write_expression): Issue errors about attempts to
+       mangle a non-existant middle operator to the ?: operator.
+
+2003-10-21  Robert Bowdidge   <bowdidge@apple.com>
+       * decl.c (cp_finish_decl): Remove clause intended for asm directives 
+          in struct or class fields: this code is never executed.
+
+2003-10-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * decl.c (start_decl): Exit if push_template_decl returns
+       error_mark_node.
+
+2003-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ChangeLog: Fix typos.
+       * call.c: Fix comment typos.
+       * class.c: Likewise.
+       * cp-tree.h: Likewise.
+       * cvt.c: Likewise.
+       * cxx-pretty-print.c: Likewise.
+       * decl.c: Likewise.
+       * decl2.c: Likewise.
+       * init.c: Likewise.
+       * mangle.c: Likewise.
+       * name-lookup.c: Likewise.
+       * parser.c: Likewise.
+       * search.c: Likewise.
+       * semantics.c: Likewise.
+       * tree.c: Likewise.
+       * typeck.c: Likewise.
+
+2003-10-20  Jan Hubicka  <jh@suse.cz>
+
+       * decl.c (start_cleanup_fn):  Set DECL_DECLARED_INLINE_P to deffer
+       the expansion.
+
+2003-10-20  Mark Mitchell  <mark@codesourcery.com>
+
+       * Make-lang.in (c++.install-info): Remove.
+
+2003-10-20  Jason Merrill  <jason@redhat.com>
+
+       * class.c (layout_class_type): Set DECL_ARTIFICIAL on padding
+       field.
+
+2003-10-20  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/9781, c++/10583, c++/11862
+       * decl.c (cp_finish_decl): Exit immediately if decl is an
+       error_mark_node.
+       * pt.c (push_template_decl_real): Return error_mark_node for
+       invalid template declaration of variable.
+
+2003-10-18  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/12495
+       * pt.c (lookup_template_class): Handle when current_class_type
+       is a local class.
+
+2003-10-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/2513
+       * decl.c (make_typename_type): Use dependent_type_p.
+       (make_unbound_class_template): Likewise.
+       * pt.c (instantiate_class_template): Increment
+       processing_template_decl during substitution of template friend
+       function.  Preincrement processing_template_decl rather than
+       postincrement.
+       (get_mostly_instantiated_function_type): Increment
+       processing_template_decl during partial substitution of function
+       type.
+
+2003-10-15  Jan Hubicka  <jh@suse.cz>
+
+       PR c++/12574
+       * decl2.c (cxx_callgraph_analyze_expr): Deal with baselink.
+
+2003-10-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/11878
+       * tree.c (build_target_expr_with_type): Call force_rvalue for
+       classes with non-trivial copy ctors.
+
+       PR c++/11063
+       * typeck.c (build_modify_expr): Call convert rather than abort.
+
+2003-10-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       Breack out decl.c (3/n)
+       * name-lookup.c: Include flags.h
+       (lookup_name_current_level): Make static.
+       (add_decl_to_level): Likewise.
+       (push_local_binding): Likewise.
+       (push_overloaded_decl): Likewise.
+       (lookup_using_namespace): Likewise.
+       (qualified_lookup_using_namespace): Likewise.
+       (lookup_type_current_level): Likewise.
+       (unqualified_namespace_lookup): Likewise.
+       (namespace_ancestor): Likewise.
+       (push_using_directive): Likewise.
+       * decl.c (pushdecl): Move to name-lookup.c.
+       (pushdecl_top_level_1): Likewise.
+       (pushdecl_top_level): Likewise.
+       (pushdecl_top_level_and_finish): Likewise.
+       (maybe_push_decl): Likewise.
+       (push_using_decl): Likewise.
+       (push_overloaded_decl): Likewise.
+       (make_anon_name): Likewise.
+       (anon_cnt): Likewise.
+       (clear_anon_tags): Likewise.
+       (maybe_inject_for_scope_var): Likewise.
+       (check_for_out_of_scope_variable): Likewise.
+       * Make-lang.in (cp/name-lookup.o): Depend on flags.h.
+       * decl.c (warn_extern_redeclared_static): Export.
+       * cp-tree.h (warn_extern_redeclared_static): Declare.
+
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Make-lang.in: Replace uses of $(target_alias) with
+       $(target_noncanonical).
+
+2003-10-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * ChangeLog: Add PR number to patch for PR c++/12370.
+
+2003-10-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * name-lookup.h (cxx_scope_find_binding_for_name): Don't export.
+       (binding_for_name): Likewise.
+       (cxx_binding_clear): Move to name-lookup.c.
+       * name-lookup.c (cxx_scope_find_binding_for_name): Now static.
+       (binding_for_name): Likewise.
+       * decl2.c (is_ancestor): Move to name-lookup.c
+       (namespace_ancestor): Likewise.
+       (add_using_namespace): Likewise.
+       (ambiguous_decl): Likewise.
+       (lookup_using_namespace): Likewise.
+       (qualified_lookup_using_namespace): Likewise.
+       (set_decl_namespace): Likewise.
+       (decl_namespace): Likewise.
+       (current_decl_namespace): Likewise.
+       (push_decl_namespace): Likewise.
+       (pop_decl_namespace): Likewise.
+       (push_scope): Likewise.
+       (pop_scope): Likewise.
+       (struct arg_lookup): Likewise.
+       (arg_assoc): Likewise.
+       (arg_assoc_args): Likewise.
+       (arg_assoc_type): Likewise.
+       (add_function): Likewise.
+       (arg_assoc_namespace): Likewise.
+       (arg_assoc_class): Likewise.
+       (arg_assoc_template_arg): Likewise.
+       (do_namespace_alias): Likewise.
+       (validate_nonmember_using_decl): Likewise.
+       (do_nonmember_using_decl): Likewise.
+       (do_toplevel_using_decl): Likewise.
+       (do_local_using_decl): Likewise.
+       (do_class_using_decl): Likewise.
+       (do_using_directive): Likewise.
+       (constructor_name_full): Likewise.
+       (constructor_name): Likewise.
+       (constructor_name_p): Likewise.
+
+2003-10-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       Break out decl.c (2/n) 
+       * name-lookup.c: Include diagnostic.h
+       (cxx_binding_free): Make static.
+       (cxx_binding_make): Likewise.
+       (binding_table_new): Likewise
+       (binding_table_free): Likewise.
+       (binding_table_insert): Likewise.
+       (binding_table_find_anon_type): Likewise.
+       (binding_table_reverse_maybe_remap): Likewise.
+       (supplement_binding): Likewise.
+       * name-lookup.h (global_scope_name): Declare extern.
+       (global_type_node): Likewise.
+       (cxx_binding_free): Don't export.
+       (cxx_binding_make): Likewise.
+       (binding_table_new): Likewise.
+       (binding_table_free): Likewise.
+       (binding_table_insert): Likewise.
+       (binding_table_find_anon_type): Likewise.
+       (binding_table_reverse_maybe_remap): Likewise.
+       * Make-lang.in (cp/name-lookup.o): Depend on $(DIAGNOSTIC_H)
+       * decl.c (lookup_namespace_name): Move to name-lookup.c
+       (select_decl): Likewise.
+       (unqualified_namespace_lookup): Likewise.
+       (lookup_qualified_name): Likewise.
+       (lookup_name_real): Likewise.
+       (lookup_name_nonclass): Likewise.
+       (lookup_function_nonclass): Likewise.
+       (lookup_name): Likewise.
+       (lookup_name_current_level): Likewise.
+       (lookup_type_current_level): Likewise.
+       (lookup_flags): Likewise.
+       (qualify_lookup): Likewise.
+       (lookup_tag): Likewise.
+       (lookup_tag_reverse): Likewise.
+       (getdecls): Likewise.
+       (storedecls): Remove.
+       (cxx_remember_type_decls): Move to name-lookup.c.
+       (global_bindings_p): Likewise.
+       (innermost_nonclass_level): Likewise.
+       (toplevel_bindings_p): Likewise.
+       (namespace_bindings_p): Likewise.
+       (kept_level_p): Likewise.
+       (innermost_scope_kind): Likewise.
+       (template_parm_scope_p): Likewise.
+       (push_binding): Likewise.
+       (push_local_binding): Likewise.
+       (add_decl_to_level): Likewise.  Make extern.
+       (push_class_binding): Move to name-lookup.c.
+       (resume_level): Likewise.  Rename to resume_scope.
+       (begin_scope): Move to name-lookup.c.
+       (indent): Likewise.
+       (binding_depth): Likewise.
+       (is_class_level): Likewise.
+       (cxx_scope_descriptor): Likewise.
+       (cxx_scope_debug): Likewise.
+       (namespace_scope_ht_size): Likewise.
+       (leave_scope): Likewise.
+       (pushlevel_class): Likewise.
+       (poplevel_class): Likewise.
+       (clear_identifier_class_values): Likewise.
+       (pushdecl_with_scope): Likewise.
+       (pushdecl_namespace_level): Likewise.
+       (pushdecl_class_level): Likewise.
+       (push_class_level_binding): Likewise.
+       (push_using_directive): Likewise.
+       (identifier_global_value): Likewise.
+       (keep_next_level_flag): Likewise.
+       (keep_next_level): Likewise.
+       (free_binding_level): Likewise.
+       (set_class_shadows): Likewise.
+       (maybe_push_cleanup_level): Likewise.
+       (cp_namespace_decls): Likewise.
+       (bt_print_entry): Likewise.
+       (print_binding_level): Likewise.
+       (print_other_binding_stack): Likewise.
+       (print_binding_stack): Likewise.
+       (push_namespace): Likewise.
+       (pop_namespace): Likewise.
+       (push_nested_namespace): Likewise.
+       (pop_nested_namespace): Likewise.
+       (cxx_saved_binding_make): Likewise.
+       (struct cxx_saved_binding_make): Likewise.
+       (store_bindings): Likewise.
+       (maybe_push_to_top_level): Likewise.
+       (push_to_top_level): Likewise.
+       (pop_from_top_level): Likewise.
+       (identifier_type_value): Likewise.
+       (set_identifier_type_value): Likewise.
+       (set_identifier_type_value_with_scope): Likewise.
+       (pop_everything): Likewise.
+       (pushtag): Likewise.
+       (follow_tag_typedef): Likewise.
+       (maybe_process_template_type_declaration): Likewise.
+       (pop_binding): Likewise.
+       * cp-tree.h: Move corresponding declarations to name-lookup.h
+       
+2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cvt.c (ocp_convert): Move warning to C common code.
+
+2003-10-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/6392
+       * tree.c (build_cplus_array_type): Handle all quals the same.
+       (cp_build_qualified_type_real): Look through arrays first.
+
+       * tree.c (build_cplus_new): Use build_decl to create a VAR_DECL.
+       (build_target_expr_with_type): Likewise.
+
+       * pt.c (instantiate_class_template): Sanity check that our
+       enclosing class has been instantiated.
+
+2003-10-08  Giovanni Bajo  <giovannibajo@libero.it>
+
+       * cp_tree.h: Added TFF_NO_FUNCTION_ARGUMENTS.
+       * error.c (dump_function_decl): Use it to skip the dump of the
+       arguments.
+       (dump_expr): When dumping a declaration found within an
+       expression, always set TFF_NO_FUNCTION_ARGUMENTS
+       in the flags.
+
+2003-10-08  Giovanni Bajo <giovannibajo@libero.it>
+
+       PR c++/11097
+       * pt.c (tsubst_decl): Substitute also the DECL_NAME node of
+       USING_DECL.
+
+2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/10147
+       * call.c (initialize_reference): Tweak error message.
+       * cxx-pretty-print.h (cxx_pretty_printer_flags): Remove
+       pp_cxx_flag_qualified_id and pp_cxx_flag_global_scope.
+       * cxx-pretty-print.c (pp_cxx_id_expression): Always display
+       qualified entities using qualified names.
+       
+       PR c++/12337
+       * init.c (build_new_1): Make sure that the expression returned is
+       not an lvalue.
+
+       PR c++/12344, c++/12236, c++/8656
+       * decl.c (start_function): Do not ignore attributes embedded in a
+       function declarator.
+
+2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * Make-lang.in (c++.info): Remove.
+       (c++.dvi): Remove.
+       (c++.generated-manpages): Replace with ...
+       (generated-manpages): ... this.
+
+2003-10-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (struct cp_binding_level): Move to name-lookup.h
+       (current_binding_level): Likewise.
+       (class_binding_level): Likewise.
+       * cp-tree.h (enum scope_kind): Likewise.
+
+2003-10-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * name-lookup.c (binding_entry_free): Nullify name and type
+       fields. 
+
+2003-10-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12486
+       * typeck.c (finish_class_member_access_expr): Issue diagnostic
+       on erroneous use of qualified name.
+
+2003-09-30  Richard Henderson  <rth@redhat.com>
+
+       PR c++/12370
+       * decl.c (duplicate_decls): Copy DECL_SAVED_INSNS too.
+
+2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
+
+       * g++spec.c: Convert to ISO C90 prototypes.
+       * parser.c: Likewise.
+
+2003-09-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (pop_binding): Don't mess with nullifying binding->scope
+       here. 
+       * name-lookup.c: Re-format.
+       (cxx_binding_free): Nullify binding->scope.
+
+2003-09-29  Jan Hubicka  <jh@suse.cz>
+
+       PR C++/12047
+       * except.c (build_eh_type_type): Call mark_used on the type.
+
+2003-09-28  Richard Henderson  <rth@redhat.com>
+
+       * typeck.c (c_expand_asm_operands): Take location_t, instead of
+       individual file and line.
+
+2003-09-28  Andreas Jaeger  <aj@suse.de>
+
+       * decl.c (cxx_builtin_type_decls): Convert to ISO C90 function
+       definition.
+       * init.c (push_base_cleanups): Likewise.
+       * decl2.c (finish_file): Likewise.
+       * mangle.c (init_mangle): Likewise.
+       (dump_substitution_candidates): Likewise.
+       * search.c: Likewise.
+
+2003-09-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * name-lookup.h (get_global_value_if_present): New function.
+       (is_typename_at_global_scope): Likewise.
+       * except.c (do_begin_catch): Use get_global_value_if_present.
+       (do_end_catch): Likewise.
+       (do_allocate_exception): Likewise.
+       (do_free_exception): Likewise.
+       (build_throw): Likewise.
+       * parser.c (cp_parser_member_declaration): Likewise.
+       * rtti.c (throw_bad_cast): Likewise.
+       (throw_bad_typeid): Likewise.
+       * decl.c (check_tag_decl): Use is_typename_at_global_scope.
+       (grokdeclarator): Likewise.
+       * cp-tree.h (global_namespace): Move to name-lookup.h
+       * call.c (call_builtin_trap): Tidy.
+
+2003-09-27  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/11415
+       * parser.c (cp_parser_nested_name_specifier_opt): Issue correct
+       error message when parser->scope is global_namespace.
+
+2003-09-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * cp-tree.h, name-lookup.h, decl.c, decl2.c: Remove reference to
+       macros  BINDING_SCOPE, BINDING_VALUE and BINDING_TYPE.
+
+2003-09-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (pop_binding_level, suspend_binding_level,
+       find_class_binding_level): Merge into leave_scope.  Remove.
+       (leave_scope):  New function.
+       (poplevel): Update.
+       (poplevel_class): Likewise.
+       (pop_namespace): Likewise.
+
+2003-09-25  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/5655
+       * parser.c (cp_parser_check_access_in_redeclaration): New function.
+       (cp_parser_member_declaration): Use it.
+       (cp_parser_template_declaration_after_export): Likewise.
+
+2003-09-22  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * cp-tree.h (scope_kind): Add new enumerator.
+       (keep_next_level): Change parameter type to bool.
+       (begin_scope):  Change prototype.
+       (pushlevel): Remove declaration.
+       * decl.c (push_binding_level): Fold in begin_scope.  Remove.
+       (struct cp_binding_level): Remove tag_tranparent field.  Make keep
+       of bitsize one.
+       (keep_next_level_flag): Make a bool.
+       (cxx_scope_descriptor): Update scope names table
+       (make_cxx_scope): Fold in begin_scope.  Remove..
+       (namespace_scope_ht_size): New function.
+       (begin_scope): Change prototype.  Return a scope.  Tidy.
+       (kept_level_p): Update.
+       (pushlevel): Remove.
+       (maybe_push_cleanup_level): Simplify.
+       (poplevel): Update for sk_cleanup and keep change.
+       (print_binding_level): Likewise.
+       (initial_push_namespace_scope): Fold in begin_scope.  Remove.
+       (push_namespace): Update.
+       (pushtag): Likewise.
+       (lookup_tag): Likewise.
+       (lookup_name_current_level): Likewise.
+       (lookup_type_current_level): Likewise.
+       (cxx_init_decl_processing): Likewise.
+       (start_function): Likewise.
+       (begin_function_body): Likewise.
+       (start_method): Likewise.
+       * pt.c (push_inline_template_parms_recursive): Likewise.
+       (begin_template_parm_list): Likewise.
+       (begin_specialization): Likewise.
+       * semantics.c (do_pushlevel): Likewise.
+       (begin_compound_stmt): Likewise.
+       (begin_stmt_expr): Likewise.
+
+2003-09-21  Richard Henderson  <rth@redhat.com>
+
+       * class.c, cp-tree.h, decl.c, decl2.c, error.c, init.c,
+       method.c, optimize.c, pt.c, semantics.c, tree.c: Revert.
+
+2003-09-21  Richard Henderson  <rth@redhat.com>
+
+       * class.c, cp-tree.h, decl.c, decl2.c, error.c, init.c,
+       method.c, optimize.c, pt.c, semantics.c, tree.c: Update for
+       DECL_SOURCE_LOCATION rename and change to const.
+
+2003-09-20  Richard Henderson  <rth@redhat.com>
+
+       * decl.c, decl2.c, pt.c: Use %J in diagnostics.
+
 2003-09-20  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
 
        PR c++/157
        (do_friend): Adjust add_friend call.
        * decl.c (grokdeclarator): Adjust make_friend_class call.
        * parser.c (cp_parser_member_declaration): Likewise.
-       (cp_parser_template_declaration_after_exp): Likewise.
+       (cp_parser_template_declaration_after_export): Likewise.
        * pt.c (instantiate_class_template): Adjust make_friend_class
        and add_friend call.
        * cp-tree.h (make_friend_class): Adjust declaration.
        * typeck2.c (build_functional_cast): Do not perform name lookups.
 
        PR c++/10717
-       * decl.c (expand_static_init): Remove unncessary code.
+       * decl.c (expand_static_init): Remove unnecessary code.
 
 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
 
        (decay_conversion): Use convert_to_integer.
        (build_unary_op): Use build_nop.
        (get_delta_difference): Use convert_to_integer.
-       (build_ptrmemfunc): Avoid unncessary conversions.
+       (build_ptrmemfunc): Avoid unnecessary conversions.
 
 2003-07-28  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (is_namespace_ancestor): Rename to ...
        (namespace_anecestor): ... this.
        (set_decl_namespace): Adjust accordingly.
-       (handle_class_head): Remove unncessary parameters.
+       (handle_class_head): Remove unnecessary parameters.
        * parser.c (cp_parser_class_head): Check that
        nested-name-specifiers are used appropriately.
 
        (instantiate_class_template): Adjust call to xref_basetypes.
        * semantics.c (begin_mem_initializers): New function.
        * tree.c (is_overloaded_fn): Use BASELINK_FUNCTIONS.
-       (really_overlaoded_fn): Likewise.
+       (really_overloaded_fn): Likewise.
        (get_overloaded_fn): New function.'
        (get_first_fn): USe BASELINK_FUNCTIONS.