OSDN Git Service

* c-format.c (gcc_diag_char_table): Add %J.
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 9647871..2734bf6 100644 (file)
@@ -1,3 +1,178 @@
+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
+       * parser.c (cp_parser_direct_declarator): Clear
+       parser->num_template_parameter_lists when parsing function
+       parameters.
+       (cp_parser_constructor_declarator_p): Likewise.
+
+2003-09-19  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/495
+       * pt.c (tsubst_friend_class): Only use innermost template
+       arguments for the injected friend class template.
+
+2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/12332
+       * pt.c (instantiate_class_template): Increment
+       processing_template_decl around the tsubst of a template member
+       function.
+
+2003-09-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * decl.c (cxx_scope_descriptor): Fix thinko.
+       (struct cp_binding_level): Adjust type of binding_depth field. 
+
+2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR c++/12320
+       * call.c (type_passed_as): Check for incomplete type.
+       (convert_for_arg_passing): Likewise.
+
+2003-09-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/9848
+       * optimize.c (maybe_clone_body): Don't set MARK_USED on parameters
+       here.
+       * semantics.c (expand_body): Set it here on the remaining clones.
+
+2003-09-18  Roger Sayle  <roger@eyesopen.com>
+
+       * lex.c (init_operators): Remove operator_name_info for FFS_EXPR.
+       * class.c (instantiate_type): Remove FFS_EXPR case.
+
+2003-09-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * ChangeLog: Fix recent commit.
+
+2003-09-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * ChangeLog: Add PR number to patch for PR c++/12316.
+
+2003-09-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       * error.c (dump_type): Simplify.  Use pp_type_specifier_seq for
+       "C" types. 
+       * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Fix thinko.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+       * semantics.c (expand_body): Don't save/restore input_location.
+
+2003-09-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/12266
+       * cp-tree.h (tsubst_flags_t): Add tf_conv.
+       * class.c (standard_conversion): Pass tf_conv to
+       instantiate_type.
+       (resolve_address_of_overloaded_function): Do not call mark_used
+       when just checking conversions.
+
+       PR debug/12066
+       * cp-lang.c (LANG_HOOKS_BUILTIN_TYPE_DECLS): Define.
+       * cp-tree.h (cxx_builtin_type_decls): Declare.
+       * decl.c (builtin_type_decls): New variables.
+       (cxx_builtin_type_decls): New function.
+       (record_builtin_type): Add to builtin_type_decls.
+
+2003-09-17  Richard Henderson  <rth@redhat.com>
+
+       PR c++/12316
+        * semantics.c (expand_or_defer_fn): Inc/dec function_depth.
+
+2003-09-16  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       PR c++/7939
+       * typeck.c (comptypes): Don't ICE when its first argument is
+       error_mark_node.
+       (compparms): Reverse the arguments of same_type_p.
+
+2003-09-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/12184
+       * typeck.c (convert_arguments): Return error_mark_node for an
+       incomplete parameter. Make error message more informative.
+
+2003-09-12  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/3907
+       * class.c (maybe_note_name_used_in_class): Refine test for whether
+       or not we are in a class scope.
+
+       * cp-tree.h (language_function): Remove x_expanding_p.
+       (expanding_p): Remove.
+       (doing_semantic_analysis_p): Remove.
+       (scope_kind): Add sk_function_parms, sk_class,
+       sk_namespace.
+       (innermost_scope_kind): New method.
+       * call.c (cxx_type_promotes_to): Use type_decays_to.
+       * cp-lang.c (LANG_HOOKS_PUSHLEVEL): Redefine.
+       (LANG_HOOKS_POPLEVEL): Likewise.
+       * decl.c (cp_binding_level): Remove parm_flag, template_parms_p,
+       template_spec_p, namespace_p, is_for_scope, is_try_scope, and
+       is_catch_scope.  Add kind and explicit_spec_p.
+       (cxx_scope_descriptor): Use a lookup table.
+       (find_class_binding_level): Use "kind" field in binding_level, not
+       the various flags.
+       (pop_binding_level): Likewise.
+       (innermost_nonclass_level): Likewise.
+       (toplevel_bindings_p): Likewise.
+       (namespace_bindings_p): Likewise.
+       (template_parm_scope_p): Likewise.
+       (innermost_scope_kind): New method.
+       (current_tmpl_spec_kind): Use "kind" field in binding_level, not
+       the various flags.
+       (pushlevel): Remove check for doing_semantic_analysis_p.
+       (begin_scope): Simplify.
+       (add_decl_to_level): Use "kind" field in binding_level, not
+       the various flags.
+       (push_local_binding): Likewise.
+       (pop_label): Remove check for doing_semantic_analysis_p.
+       (poplevel): Use "kind" field in binding_level, not
+       the various flags.
+       (set_block): Remove check for doing_semantic_analysis_p.
+       (pushlevel_class): Use "kind" field in binding_level, not
+       the various flags. 
+       (poplevel_class): Likewise.
+       (initial_push_namespace_scope): Likewise.
+       (maybe_push_to_top_level): Likewise.
+       (set_identifier_type_value_with_scope): Likewise.
+       (pop_everything): Likewise.
+       (maybe_process_template_type_declaration): Likewise.
+       (pushtag): Likewise.
+       (pushdecl): Likewise.
+       (pushdecl_with_scope): Likewise.
+       (check_previous_goto_1): Likewise.
+       (define_label): Likewise.
+       (finish_case_label): Likewise.
+       (lookup_tag): Likewise.
+       (unqualified_namespace_lookup): Likewise.
+       (lookup_name_real): Likewise.
+       (lookup_name_current_level): Likewise.
+       (lookup_type_current_level): Likewise.
+       (record_builtin_type): Likewise.
+       (cp_make_fname_decl): Likewise.
+       (maybe_inject_for_scope_var): Likewise.
+       (cp_finish_decl): Remove check for doing_semantic_analysis_p.
+       (start_function): Use begin_scope, not pushlevel.
+       (finish_function): Use "kind" field in binding_level, not
+       the various flags.
+       (start_method): Use begin_scope, not pushlevel.
+       (make_label_decl): Do not check expanding_p.
+       (save_function-data): Do not set expanding_p.
+       (cxx_push_function_context): Do not clear expanding_p.
+       * semantics.c (cxx_expand_function_start): Do not set expanding_p.
+       
+2003-09-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * class.c (layout_class_type): Make DECL_MODE match TYPE_MODE for
+       an bit-field whose width exceeds that of its type.
+
 2003-09-14  Geoffrey Keating  <geoffk@apple.com>
 
        * rtti.c (get_tinfo_decl): Set TREE_PUBLIC for typeinfo decls.
        (pp_cxx_namespace_alias_definition): Likewise.
        (pp_cxx_declaration): Use them.  Handle NAMESPACE_DECLs.
 
-Sun Sep  7 13:15:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-09-07  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (maybe_emit_vtables, write_out_vars, finish_file):
        Avoid re-emitting variables in unit-at-a-time mode.
@@ -632,7 +807,7 @@ Sun Sep  7 13:15:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * pt.c (instantiate_class_template): Push to class's scope before
        tsubsting base.
 
-Sun Aug 17 10:05:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-08-17  Jan Hubicka  <jh@suse.cz>
 
        PR C++/11702
        * semantics.c (finish_id_expression): Mark all functions as used.
@@ -676,7 +851,7 @@ Sun Aug 17 10:05:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * decl.c (make_typename_type): Use my_friendly_assert.
        * pt.c (tsubst_aggr_type): Rearrange context substitution.
 
-Thu Aug 14 12:19:25 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-08-14  Jan Hubicka  <jh@suse.cz>
 
        * method.c (use_thunk): Expand body directly.
 
@@ -1015,12 +1190,12 @@ Thu Aug 14 12:19:25 CEST 2003  Jan Hubicka  <jh@suse.cz>
        can_complete_type_without_circularity, instantiate_class_template,
        tsubst_decl, unify): Reformat.
 
-Thu Jul 31 01:07:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-07-31  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (maybe_make_one_only): Use mark_referenced.
        * method.c (use_thunk): Likewsie.
 
-Wed Jul 30 19:12:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-07-30  Jan Hubicka  <jh@suse.cz>
 
        * class.c (build_vtable_entry_ref): Kill.
        (build_vtbl_ref_1): Do not call build_vtable_entry_ref.
@@ -1089,7 +1264,7 @@ Wed Jul 30 19:12:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
        (get_delta_difference): Use convert_to_integer.
        (build_ptrmemfunc): Avoid unncessary conversions.
 
-Mon Jul 28 23:55:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-07-28  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (mark_member_pointers): Verify that member pointer points to
        the function.
@@ -1806,7 +1981,7 @@ Mon Jul 28 23:55:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
        (build_x_compound_expr): Likewise.
        * typeck2.c (build_x_arrow): Likewise.
 
-Wed Jul  9 02:28:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-07-09  Jan Hubicka  <jh@suse.cz>
 
        * cp-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
        * decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
@@ -2110,7 +2285,7 @@ Wed Jul  9 02:28:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * error.c (locate_error): %P takes an `int', not a `tree'.
 
-Wed Jul  2 00:36:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-07-02  Jan Hubicka  <jh@suse.cz>
 
        * decl2.c (defer_fn): Set DECL_DEFER_OUTPUT.
        (finish-file): Do not process function with DECL_DEFER_OUTPUT clear;
@@ -2317,12 +2492,12 @@ Wed Jul  2 00:36:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * pt.c (check_default_tmpl_args): Likewise.
        (lookup_template_class): Likewise.
 
-Tue Jun 24 15:30:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-06-24  Jan Hubicka  <jh@suse.cz>
 
        * method.c (thunk_labelno): Move outside ifdef block to make garbage
        collector happy.
 
-Tue Jun 24 13:52:34 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-06-24  Jan Hubicka  <jh@suse.cz>
 
        * class.c (build_vtable): Make vtables.
        * cp-tree.h (DECL_VTABLE_OR_VTT_P): New macro.
@@ -2349,7 +2524,7 @@ Tue Jun 24 13:52:34 CEST 2003  Jan Hubicka  <jh@suse.cz>
        (cp/method.o): Depend on gt-cp-method.h.
        * config-lang.in (gtfiles): Add $(srcdir)/cp/method.c.
 
-Mon Jun 23 19:41:27 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-06-23  Jan Hubicka  <jh@suse.cz>
 
        * decl.c (register_dtor_fn): Mark cleanup as used.
        * decl2.c (mark_vtable_entries): Skip nops.
@@ -2643,7 +2818,7 @@ Mon Jun 23 19:41:27 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * cp-tree.h (cxx_init_options): Update.
        * lex.c (cxx_init_options): Update.
 
-Thu Jun  5 18:33:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
+2003-06-05  Jan Hubicka  <jh@suse.cz>
 
        * Make-lang.in:  Add support for stageprofile and stagefeedback