OSDN Git Service

PR c++/28878
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index dd1df56..4709c14 100644 (file)
@@ -1,8 +1,86 @@
+2006-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/28878
+       * except.c (build_throw): Only set current_function_returns_abnormally
+       if cfun is not NULL.
+
+       PR c++/26917
+       * repo.c (repo_file): Remove.
+       (open_repo_file, reopen_repo_file_for_write): Return fopened
+       FILE * instead of setting global repo_file variable.
+       (init_repo): Adjust caller.
+       (finish_repo): Likewise.  Return instead of goto out before
+       reopen_repo_file_for_write has been called.
+
+2006-09-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/28705
+       * semantics.c (finish_call_expr): Add assert.
+       * name-lookup.c (lookup_arg_dependent): Check we found an overload
+       or an object.
+
+       PR c++/23287
+       * parser.c (cp_parser_id_expression): Add member_p
+       argument. Update all callers.
+       (cp_parser_unqualified_id): Likewise.  Lookup a destructor name in
+       the object's scope, if valid.
+       (cp_parser_global_scope_opt): Add object_scope_valid_p.  Update
+       callers.
+       (cp_parser_postfix_dot_deref_expression): Set object_scope.
+       * pt.c (tsubst_copy_and_build): Lookup dependent dtor name here.
+
+2006-08-30  Jason Merrill  <jason@redhat.com>
+
+       PR c++/26670
+       * class.c (check_field_decls): Don't unset TYPE_PACKED until all
+       the fields have been processed.
+
+2006-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR C++/28349
+       * call.c (build_x_va_arg): Remove the reference type
+       from the type before creating the pointer type.
+
+2006-08-29  J"orn Rennecke  <joern.rennecke@st.com>
+
+       PR c++/28139
+       * except.c (expand_start_catch_block): Use correct types for bitwise
+       copy.
+
+2006-08-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/26670
+       * class.c (check_field_decls): Unset TYPE_PACKED (t) if one of the
+       fields can't be packed.
+
+       PR c++/26577
+       * cvt.c (convert_to_void): Don't automatically load from volatiles 
+       of TREE_ADDRESSABLE type.
+
+2006-08-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/28860
+       * cp-tree.h (maybe_process_partial_specialization): Return
+       tree instead of void.
+       * parser.c (cp_parser_class_head): Use return value of
+       maybe_process_partial_specialization.
+       * pt.c (maybe_process_partial_specialization): Return error_mark_node
+       for broken specializations, TYPE otherwise.  Check for template
+       template parameters.
+
+2006-08-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/28058
+       * pt.c (register_specialization): Return error_mark_node for
+       specialization-after-instantiation.
+       * decl2.c (mark_used): Mark the main function used when one of its
+       clones is used.
+       
 2006-08-27  Lee Millward  <lee.millward@codesourcery.com>
 
-        PR c++/26573
-        * class.c (check_field_decls): Don't issue error about
-        local classes containing static data members.
+       PR c++/26573
+       * class.c (check_field_decls): Don't issue error about
+       local classes containing static data members.
        
 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
 
 
 2006-08-26  Lee Millward  <lee.millward@codesourcery.com>
 
-        PR c++/28736
-        PR c++/28737
-        PR c++/28738
-        * pt.c (process_template_parm): Store invalid template
-        parameters as a TREE_LIST with a TREE_VALUE of error_mark_node.
-        (push_inline_template_parms_recursive): Check for template
-        parameters having a TREE_VALUE of error_mark_node rather than
-        check the parameter itself.
-        (mangle_class_name_for_template): Likewise.
-        (comp_template_parms): When comparing the individual template
-        parameters, return 1 if either is error_mark_node.
-        (current_template_args): Robustify.
-        (redeclare_class_template): Likewise.
+       PR c++/28736
+       PR c++/28737
+       PR c++/28738
+       * pt.c (process_template_parm): Store invalid template
+       parameters as a TREE_LIST with a TREE_VALUE of error_mark_node.
+       (push_inline_template_parms_recursive): Check for template
+       parameters having a TREE_VALUE of error_mark_node rather than
+       check the parameter itself.
+       (mangle_class_name_for_template): Likewise.
+       (comp_template_parms): When comparing the individual template
+       parameters, return 1 if either is error_mark_node.
+       (current_template_args): Robustify.
+       (redeclare_class_template): Likewise.
        
 2006-08-26  Mark Mitchell  <mark@codesourcery.com>
 
        * method.c (locate_copy): Check for non_reference
        returning error_mark_node.
 
-        PR c++/28260
+       PR c++/28260
        * decl.c (duplicate_decls): Return error_mark_node
        on ambiguous declaration.
        
 
 2006-03-22  Jason Merrill  <jason@redhat.com>
 
-        * name-lookup.c (push_namespace_with_attribs): Only apply hidden
-        visibility to anonymous namespaces if HAVE_GAS_HIDDEN.
+       * name-lookup.c (push_namespace_with_attribs): Only apply hidden
+       visibility to anonymous namespaces if HAVE_GAS_HIDDEN.
 
 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
 
                bad_decls list.
                (decl_jump_unsafe): Check for error_mark_node types.
                (check_goto): Don't check cdtor_label.  Don't use identify_goto.
-                * semantics.c (finish_return_stmt): Do check_omp_return before
+               * semantics.c (finish_return_stmt): Do check_omp_return before
                converting to cdtor_label goto.
 
        2005-10-21  Richard Henderson  <rth@redhat.com>
                * cp-tree.h (OMP_ATOMIC_DEPENDENT_P, OMP_ATOMIC_CODE): New.
                (finish_omp_clauses, finish_omp_for, finish_omp_atomic): New.
                * parser.c (cp_parser_omp_clause_copyin): Remove.
-               (cp_parser_omp_all_clauses): Use cp_parser_omp_var_list instead.                Call finish_omp_clauses.
+               (cp_parser_omp_all_clauses): Use cp_parser_omp_var_list instead.
+               Call finish_omp_clauses.
                (cp_parser_omp_clause_if): Don't do error checking here.
                (cp_parser_omp_clause_num_threads): Likewise.
                (cp_parser_omp_clause_schedule): Likewise.
 
 2006-02-03  Lee Millward  <lee.millward@gmail.com>
 
-       * typeck.c (string_conv_p): Pass appropiate
-       OPT_Wxxxx values when calling warning().
-       (build_array_ref, cxx_mark_addressable): Likewise.
-       (check_return_expr): Likewise.
+       * typeck.c (string_conv_p): Pass appropiate
+       OPT_Wxxxx values when calling warning().
+       (build_array_ref, cxx_mark_addressable): Likewise.
+       (check_return_expr): Likewise.
 
-       * init.c (perform_member_init): Likewise.
-       (sort_mem_initializers, emit_mem_initializers): Likewise.
+       * init.c (perform_member_init): Likewise.
+       (sort_mem_initializers, emit_mem_initializers): Likewise.
 
-       * class.c (check_field_decls): Likewise.
-       (warn_about_ambiguous_bases): Likewise.
+       * class.c (check_field_decls): Likewise.
+       (warn_about_ambiguous_bases): Likewise.
 
-       * decl.c (pop_label, poplevel): Likewise.
-       (duplicate_decls, grok_op_properties): Likewise.
-       (start_preparsed_function, finish_function): Likewise.
+       * decl.c (pop_label, poplevel): Likewise.
+       (duplicate_decls, grok_op_properties): Likewise.
+       (start_preparsed_function, finish_function): Likewise.
 
-       * name-lookup.c (pushdecl_maybe_friend): Likewise.
-       (pushdecl_maybe_friend): Likewise.
+       * name-lookup.c (pushdecl_maybe_friend): Likewise.
+       (pushdecl_maybe_friend): Likewise.
 
-       * parser.c (cp_parser_warn_min_max): Likewise.
-       (cp_parser_cast_expression): Likewise.
+       * parser.c (cp_parser_warn_min_max): Likewise.
+       (cp_parser_cast_expression): Likewise.
 
-       * method.c (lazily_declare_fn): Likewise.
-       * cvt.c (convert_to_void): Likewise.
-       * mangle.c (finish_mangling): Likewise.
-       * cp-gimplify.c (gimplify_expr_stmt): Likewise.
+       * method.c (lazily_declare_fn): Likewise.
+       * cvt.c (convert_to_void): Likewise.
+       * mangle.c (finish_mangling): Likewise.
+       * cp-gimplify.c (gimplify_expr_stmt): Likewise.
 
 2006-02-03  Mark Mitchell  <mark@codesourcery.com>
 
 
 2005-12-06  Aldy Hernandez  <aldyh@redhat.com>
 
-       PR C++/24138
+       PR C++/24138
        * decl.c (reshape_init_array_1): Handle max_index of -1.
 
 2005-12-06  Roger Sayle  <roger@eyesopen.com>