OSDN Git Service

[ ChangeLog ]
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 7df80c8..c60f8bd 100644 (file)
@@ -1,3 +1,278 @@
+2002-07-19  Chris Demetriou  <cgd@broadcom.com>
+
+       * lang-specs.h (@c++): Include "%2" (cc1plus_spec) wherever
+       cpp_options is included.
+
+2002-07-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/2862, c++/2863
+       * pt.c (determine_specialization): Compare the length of
+       TYPE_ARG_TYPES.  Tidy.
+
+2002-07-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/3797
+       * decl.c (duplicate_decls): Don't propagate inlining parameters from
+       olddecl to newdecl when newdecl is a specialization of the 
+       instantiation olddecl.
+
+2002-07-17  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/4802, c++/5387
+       * decl.c (make_typename_type): Use enforce_access.
+
+2002-07-17  Scott Snyder <snyder@fnal.gov>
+
+       PR c++/7320
+       * rtti.c (get_tinfo_decl): Set DECL_COMDAT.
+
+2002-07-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (add_method): Correct handling of conversion operators.
+
+2002-07-11  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/7224
+       * class.c (add_method): Simplify.
+
+2002-07-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/7279
+       * tree.c (cp_copy_res_decl_for_inlining): Also copy
+       TREE_ADDRESSABLE.
+
+2002-07-10  Graham Stott  <graham.stott@btinternet.com>
+
+       * pt.c (template_parm_this_level_p, push_template_decl_real):
+       Pass depth as int pointer. 
+
+2002-07-11  Tim Josling  <tej@melbpc.org.au>
+
+       Remove front end hard coding from gengtype.c.  
+
+       * config-lang.in (gtfiles): Add files needed for this front end.
+
+2002-07-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (unqualified_name_lookup_error): Declare it.
+       (begin_function_definition): Adjust prototype.
+       * lex.c (unqualified_name_lookup_error): New function, split out
+       from ...
+       (do_identifier): ... here.
+       * parse.y (parse_begin_function_definition): New function.
+       (fn.def1): Use it.
+       * semantics.c (begin_function_definition): Accept decl-specifiers
+       and attributes as separate parameters.
+
+2002-07-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/6255
+       * decl.c (lookup_name_real): Build a new TYPENAME_TYPE rather than
+       modifying the old one.
+
+2002-07-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (constructor_name_p): Declare it.
+       (check_template_template_default_arg): Likewise.
+       * class.c (handle_using_decl): Use constructor_name_p.
+       * decl.c (grokdeclarator): Likewise.
+       * decl2.c (constructor_name_p): Define it.
+       * init.c (build_member_call): Use constructor_name_p.
+       * parse.y (template_parm): Use check_template_template_default_arg.
+       * pt.c (check_explicit_specialization): Use constructor_name_p.
+       * semantics.c (check_template_template_default_arg): New function.
+       
+2002-07-08  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (can_complete_type_without_circularity): Add static to
+       function definition.
+
+2002-07-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (have_extern_spec): Declare it
+       * decl.c (have_extern_spec): Define it.
+       (start_decl): Eliminate use of used_extern_spec.
+       (start_function): Likewise.
+       * parse.y (have_extern_spec): Remove declaration.
+       (used_extern_spec): Likewise.
+       (frob_specs): Eliminate use of used_extern_spec.
+       (.hush_warning): Likewise.
+
+2002-07-07  Mark Mitchell  <mark@codesourcery.com>
+
+       * Make-lang.in (cp/parse.o): Depend on decl.h.
+       * cp-tree.h (do_decl_instantiation): Change prototype.
+       * parse.y: Include decl.h.
+       (parse_decl_instantiation): New function.
+       (explicit_instantiation): Use it.
+       * pt.c (do_decl_instantiation): Accept a DECL, not a DECLARATOR
+       and DECLSPECS.
+       
+2002-07-07  Roger Sayle  <roger@eyesopen.com>
+
+       * error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for
+       constructor and destructor tests when passed a TEMPLATE_DECL.
+
+2002-07-05  Jason Merrill  <jason@redhat.com>
+
+       * cvt.c (cp_convert_to_pointer): Call force_fit_type for null
+       pointers.
+
+       PR optimization/7145
+       * tree.c (cp_copy_res_decl_for_inlining): Also copy DECL_INITIAL.
+
+2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Repair damage on weak-impared targets caused by my previous patch.
+       * cp-tree.h (import_export_tinfo): Add parameter.
+       * decl2.c (import_export_tinfo): Add parameter, post adjust
+       DECL_COMDAT.
+       * rtti.c (emit_tinfo_decl): DECL_COMDAT is (nearly) always setup by
+       import_export_tinfo.
+
+2002-07-03  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/6944
+       * init.c (build_aggr_init): Remove qualifiers of init before calling
+       build_vec_init.
+       (build_vec_init): Flatten multi-dimensional array during cleanup.
+       (build_vec_delete_1): Abort if the type of each element is array.
+
+2002-07-03  Graham Stott  <graham.stott@btinternet.com>
+
+       * pt.c (instantiate_class_template): Fix typo.
+
+2002-07-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * typeck2.c (cxx_incomplete_type_diagnostic): Fix typo caused
+       by CVS conflict in my last patch.
+
+2002-07-02  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/6716
+       * pt.c (can_complete_type_without_circularity): New function.
+       (instantiate_class_template): Use it.
+       * typeck2.c (cxx_incomplete_type_diagnostic): Improve error
+       message due to incomplete fields.
+
+2002-07-01  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/7112
+       * mangle.c (write_expression): Add mangling for sizeof when
+       applied to a type.
+       * operators.def: Remove stale comment.
+
+2002-06-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cp-tree.h (CPTI_TINFO_DECL_TYPE): Replace with ...
+       (CPTI_TYPE_INFO_PTR_TYPE): ... this.
+       (tinfo_decl_type): Replace with ...
+       (type_info_ptr_type): ... this.
+       (import_export_tinfo): Declare.
+       (tinfo_decl_p): Rename to ...
+       (unemitted_tinfo_decl_p): ... this.
+       * decl2.c (import_export_decl): Break out tinfo handling into ...
+       (import_export_tinfo): ... here. New function.
+       (finish_file): Adjust.
+       * rtti.c (TINFO_REAL_NAME): New macro.
+       (init_rtti_processing): Create the tinfo types.
+       (get_tinfo_decl_dynamic): Use type_info_ptr_type, get_tinfo_ptr.
+       (get_tinfo_decl): Adjust.
+       (get_tinfo_ptr): New function.
+       (get_type_id): Use it.
+       (tinfo_base_init): Create vtable decl here, if it doesn't exist.
+       (ptr_initializer): Use get_tinfo_ptr.
+       (ptm_initializer): Likewise.
+       (synthesize_tinfo_var): Break into ...
+       (get_pseudo_ti_init): ... this. Just create the initializer.
+       (get_pseudo_ti_desc): .. and this.
+       (create_real_tinfo_var): Remove.
+       (create_pseudo_type_info): Don't create the vtable decl here.
+       (get_vmi_pseudo_type_info): Remove.
+       (create_tinfo_types): Adjust.
+       (tinfo_decl_p): Rename to ...
+       (unemitted_tinfo_decl_p): ... here. Adjust.
+       (emit_tinfo_decl): Adjust. Create the initializer.
+
+2002-06-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/6695
+       * pt.c (tsubst_friend_class): Substitute into the context of the
+       friend before using it.
+
+2002-06-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (xref_tag): Change prototype.
+       (handle_class_head): Likewise.
+       (build_x_component_ref): Likewise.
+       * decl.c (cxx_init_decl_processing): Adjust call to xref_tag.
+       (xref_tag): Take attributes as a separate parameter.
+       (xref_tag_from_type): Adjust call to xref_tag.
+       * decl2.c (build_expr_from_tree): Adjust call to
+       build_x_component_ref.
+       (handle_class_head): Take attributes as a separate parameter.
+       * parse.y (parse_xref_tag): New function.
+       (parse_handle_class_head): Likewise.
+       (primary): Use parse_xref_tag.
+       (class_head_decl): Use parse_handle_class_head.
+       (class_head_defn): Likewise.
+       * rtti.c (init_rtti_processing): Adjust call to xref_tag.
+       (build_dynamic_cast_1): Likewise.
+       (create_pseudo_type_info): Likewise.
+       (emit_support_tinfos): Likewise.
+       * typeck.c (build_object_ref): Adjust call to
+       build_x_component_ref.
+       (build_x_component_ref): Remove protect parameter.
+       
+2002-06-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * call.c (build_op_delete_call): Use BASELINK_FUNCTIONS.
+       * class.c (handle_using_decl): Likewise.
+       (instantiate_type): Likewise.
+       * cp-tree.h (BASELINK_FUNCTIONS): New macro.
+       (xref_basetypes): Change prototype.
+       (begin_mem_initializers): New function.
+       (get_overloaded_fn): Likewise.
+       * decl.c (xref_basetypes): Simplify.
+       * error.c (dump_expr): Use BASELINK_FUNCTIONS.
+       * init.c (build_offset_ref): Likewise.
+       * parse.y (base_init): Use begin_mem_initializers().
+       (structsp): Adjust call to xref_basetypes.
+       * pt.c (determine_specialization): Use BASELINK_FUNCTIONS.
+       (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.
+       (get_overloaded_fn): New function.'
+       (get_first_fn): USe BASELINK_FUNCTIONS.
+       
+2002-06-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (SCALAR_TYPE_P): New macro.
+       (check_for_out_of_scope_variable): New function.
+       (at_class_scope_p): Likewise.
+       (finish_fname): Likewise.
+       * class.c (finish_struct): Use at_function_scope_p.
+       * decl.c (check_for_out_of_scope_variable): New function, split
+       out from do_identifier.
+       (finish_enum): Use at_function_scope_p.
+       * lex.c (do_identifier): Use check_for_out_of_scope_variable.
+       * parse.y (VAR_FUNC_NAME): Give it <ttype>.  Use finish_fname.
+       (primary): Use at_function_scope_p.
+       * search.c (at_class_scope_p): New function.
+       * semantics.c (finish_fname): Likewise.
+       (check_multiple_declarators): Use at_function_scope_p.
+       
+2002-06-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * parse.y (parse_scoped_id): New function.
+       (primary): Use it.
+       * cp-tree.h (do_scoped_id): Adjust declaration.
+       * lex.c (do_scoped_id): Remove call to yylex.
+       * decl2.c (build_expr_from_tree): Adjust use of do_scoped_id.
+       * typeck2.c (add_exception_specifier): Use tree_cons, rather than
+       expanding it inline.
+       
 2002-06-23  Matt Thomas  <matt@3am-software.com>
 
        * decl.c (finish_function): Change "#ifdef VMS_TARGET" to
 
 2002-05-18  Jason Merrill  <jason@redhat.com>
 
+       PR c++/6611
        * decl2.c (import_export_decl): If we clear
        DECL_NOT_REALLY_EXTERN, make sure DECL_EXTERNAL is set.