OSDN Git Service

PR c++/22618
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index d16d5f6..bba2e8e 100644 (file)
@@ -1,3 +1,669 @@
+2005-10-20  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22618
+       * search.c (accessible_p): Check access in the outermost set of
+       template parameters.
+
+2005-10-20  Richard Guenther  <rguenther@suse.de>
+
+       * decl.c (grokdeclarator): Fix ambiguous pedwarn message.
+
+2005-10-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/22293
+       * decl.c (grokdeclarator): Reject unqualified destructors in
+       friend declarations.
+
+2005-10-18  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23293
+       * pt.c (convert_template_argument): Use canonical type variants in
+       template specializations.
+
+2005-10-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21383
+       * name-lookup.c (arg_assoc): Template args can be null in a
+       template-id-expr.
+
+       PR c++/22604
+       * class.c (update_vtable_entry_for_fn): Don't process invalid
+       covariant overriders.
+
+       PR c++/23118
+       * cp-tree.h (add_method): Add return value.
+       * class.c (add_method): Return success indicator.
+       * semantics.c (finish_member_declaration): Don't add an invalid
+       method to the method list.
+
+2005-10-17  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21908
+       * call.c (build_new_method_call): Do not show VTT parameters to
+       the user.
+
+2005-10-17  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/23440
+       * parser.c (cp_parser_statement): If the parser reached CPP_EOF,
+       only complain about missing statement.
+
+2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/24386
+       * cp-tree.h (BASELINK_QUALIFIED_P): New.
+       * pt.c (tsubst_copy_and_build): <CALL_EXPR case>: Use it.
+       * typeck.c (finish_class_member_access_expr): Set it.
+
+       PR c++/21353
+       * decl.c (check_default_argument): Don't check
+       processing_template_decl or uses_template_parms here.
+       (grokparms): Only call check_default_argument when not processing
+       a template decl.
+       * parser.c (cp_parser_late_parsing_default_arg): Call
+       check_default_argument when not processing a template decl.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/24389
+       * decl2.c (mark_used): Use uses_template_parms instead of
+       dependent_type_p.
+       * init.c (constant_value_1): Handle uninstantiated templates
+       specially.
+       * pt.c (instantiate_decl): Add sanity check.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22173
+       * typeck.c (check_template_keyword): Fix thinko.
+               
+2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c++/23959
+       * decl.c (pop_switch): Only call c_do_switch_warnings
+       when not processing templates.
+
+2005-10-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22173
+       * cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
+       (check_template_keyword): New function.
+       (finish_id_expression): Change prototoype.
+       (finish_qualified_id_expr): Change prototype.
+       (build_qualified_name): New function.
+       (finish_class_member_access_expr): Change prototype.
+       * init.c (build_offset_ref): Use build_qualified_name.
+       * mangle.c (write_expression): Likewise.
+       * parser.c (cp_parser_primary_expression): Remove qualifying_class
+       parameter.  Add address_p and template_arg_p.  Use
+       build_qualified_name.
+       (cp_parser_id_expression): Default *template_p to
+       template_keyword_p.  Check for invalid uses of the template
+       keyword.  
+       (cp_parser_postfix_expression): Eliminate special handling for
+       qualified names.  Adjust call to cp_parser_primary_expression.
+       (cp_parser_postfix_dot_deref_expression): Adjust call to
+       cp_parser_id_expression and finish_class_member_access_expr.
+       (cp_parser_template_argument_list): Add comment.
+       (cp_parser_template_argument): Adjust use of
+       cp_parser_primary_expression.  Remove call to
+       finish_qualified_id_expr.
+       (cp_parser_lookup_name): Use build_qualified_name. 
+       * pt.c (tsubst): Use build_qualified_name.
+       (tsubst_qualified_id): Likewise.  Adjust call to
+       finish_qualified_id_expr.
+       (tsubst_copy): Use build_qualified_name.
+       (tsubst_copy_and_build): Adjusts call to finish_id_expression and
+       finish_class_member_access_expr. 
+       * semantics.c (finish_non_static_data_member): Use
+       build_qualified_name.
+       (finish_qualified_id_expr): Add template_p and template_arg_p
+       parameters. 
+       (finish_id_expression): Remove qualifiying_class parameter.  Add
+       template_p, done, address_p, and template_arg_p.  Use
+       build_qualified_name.  Adjust calls to
+       finish_class_member_acess_expr.  
+       * tree.c (build_qualified_name): New function.
+       * typeck.c (check_template_keyword): New function.
+       (finish_class_member_access_expr): Add template_p argument.  Check
+       for invalid uses of the template keyword.
+
+2005-10-15  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21347
+       * class.c (maybe_warn_about_overly_private_class): Lazy
+       constructors are public.
+
+2005-10-14  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/19565
+       * call.c (convert_like_real): Rely on convert_and_check to issue
+       warnings about overflow and conversion to unsigned.
+       * decl.c (finish_enum): Use the location of the enumerators, not
+       the closing brace of the enumeration, when reporting warnings
+       about conversions.
+       (build_enumerator): Use error_mark_node for erroneous values.
+       * typeck2.c (digest_init): Remove reference to "signature pointer"
+       from comment.
+
+2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/17796
+       * optimize.c (update_cloned_parm): Add FIRST parameter. Use it.
+       (maybe_clone_body): Track the first clone.
+
+2005-10-13  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/23984
+       * class.c (build_base_path): The vtable is always the first thing
+       in the vtt.
+
+2005-10-13  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/20721
+       * cp-tree.h (DECL_NONTRIVIALLY_INITIALIZED_P): New macro.
+       * decl.c (duplicate_decls): Merge it into new declarations.
+       (decl_jump_unsafe): Use it, rather than DECL_INITIAL.
+       (cp_finish_decl): Set it, when appropriate.
+
+       PR c++/22180
+       * call.c (build_new_method_call): Correct pretty-printing of
+       destructor names.
+       * pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
+       identifier. 
+
+       PR c++/23694
+       * decl.c (start_method): Return error_mark_node for errors.
+
+       PR c++/23307
+       * pt.c (push_template_decl_real): Complain about attempts to
+       declare template variables.
+
+       PR c++/22352
+       * pt.c (tsubst_template_parms): Set processing_template_decl while
+       processing the parameters.
+       (tsubst_decl): Set processing_template_decl when substituting into
+       a TEMPLATE_DECL.
+
+       PR c++/22405
+       * pt.c (most_specialized_instantiation): Robustify.
+
+       PR c++/22464
+       * semantics.c (finish_id_expression): Issue errors about uses of
+       local variables in containing functions even in templates.
+
+2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/21801
+       PR target/23589
+       * class.c (finish_struct_1): Call
+       targetm.cxx.adjust_class_at_definition.
+
+
+2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21592
+       * pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REF
+       with already looked up member functions.  Assert we're not
+       returning a NON_DEPENDENT_EXPR with unknown type.
+       * typeck.c (finish_class_member_access_expr):  We can get
+       non-template-id-expr baselinks.  If the lookup finds a baselink,
+       remember it even inside templates.
+
+       PR c++/23797
+       * parser.c (cp_parser_functional_cast): Cope when TYPE is not a
+       TYPE_DECL.  Use dependent_type_p to check type.
+       * pt.c (uses_template_parms_p): Use dependent_type_p for a
+       TYPE_DECL.
+       (type_dependent_expression_p): Assert we've not been given a
+       TYPE_DECL.
+
+       PR c++/21117
+       * decl.c (check_function_type): Correctly overwrite incomplete
+       return type with void type.
+       * typeck.c (check_return_expr): If the function's return type is
+       void, don't try and convert a return expr.
+
+2005-10-12  David Edelsohn  <edelsohn@gnu.org>
+
+       PR c++/23730
+       * call.c (build_object_call): If BINFO is NULL, bypass
+       lookup_fnfields and set fns to NULL_TREE.
+
+2005-10-12  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c++/24052
+       * error.c (dump_expr): Pass LABEL_DECL to dump_decl.  Print
+       an ADDR_EXPR of a LABEL_DECL as &&. 
+
+2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/19964
+       * class.c (walk_subobject_offsets): Don't walk error_mark_node.
+
+2005-10-11  Ian Lance Taylor  <ian@airs.com>
+
+       PR c++/8057
+       * cvt.c (convert_to_void): Don't warn about unused values when
+       processing a template declaration.
+
+2005-10-11  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21089
+       * call.c (convert_like_real): Use decl_constant_value, not
+       integral_constant_value.
+       * init.c (constant_value_1): New function.
+       (integral_constant_value): Use it.
+       (decl_constant_value): Likewise.
+       * typeck.c (decay_conversion): Use decl_constant_value, not
+       integral_constant_value.
+
+       PR c++/21369
+       * parser.c (cp_parser_elaborated_type_specifier): Don't treat
+       class types as templates if the type is not appearing as part of a
+       type definition or declaration.
+
+2005-10-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/24277
+       * pt.c (instantiate_decl): Call finish_static_data_member_decl for
+       static data members.
+
+2005-10-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+           Mark Mitchell  <mark@codesourcery.com>
+
+        PR c++/23437
+       * parser.c (cp_parser_template_argument_list): Do not treat
+       contents of argument list as part of a constant expression.
+
+2005-10-10  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/24139
+       * decl.c (grokdeclarator): Do not require template parameter lists
+       for explicitly specialized class.
+       * error.c (dump_aggr_type): Do not dump template arguments for
+       non-primary specializations.
+       (dump_function_name): Likewise.
+
+       PR c++/24275
+       * pt.c (instantiate_decl): Instantiate the initializer of
+       a static data member in the namespace containing the class
+       containing the static data member.
+
+2005-10-08  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR c++/22172
+       * parser.c (cp_parser_postfix_expression) <RID_TYPENAME>: Treat nontype
+       scopes as nondependent.
+
+2005-10-06  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * call.c (resolve_args): Remove redundant test.
+
+2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/21419
+       PR tree-optimization/24146
+       PR tree-optimization/24151
+
+       * semantics.c (finish_asm_stmt): Call readonly_error if outputs are
+       read-only.  Set ASM_VOLATILE_P for asms without outputs.
+
+2005-10-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/23513
+       * call.c (joust): Adjust length count to more_specialized_fn.
+       * pt.c (more_specialized_fn): Cope with non-static member vs
+       non-member.
+
+2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23125
+       * decl.c (make_rtl_for_nonlocal_decl): Use set_user_assembler_name
+       instead of change_decl_assembler_name.
+
+2005-10-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * error.c (dump_type) <UNKNOWN_TYPE>: Print reworded message.
+
+2005-10-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/17775
+       * repo.c: Include flags.h.
+       (finish_repo): Add -frandom-seed to the arguments.
+
+2005-10-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22621
+       * parser.c (cp_parser_template_argument): Don't turn "T::f" into
+       "(*this).T::f".
+       * pt.c (convert_nontype_argument): Remove ??? comment.
+
+       PR c++/23840
+       * tree.c (lvalue_p_1): A VA_ARG_EXPR with class type is an lvalue,
+       when class rvalues are lvalues.
+
+2005-09-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/16782
+       * decl.c (grokdeclarator): Always pedwarn about overqualified
+       member names.
+
+2005-09-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22147
+       * name-lookup.c (maybe_process_template_type_declaration): Don't
+       treat forward declarations of classes as templates just because
+       we're processing_template_decl.
+       * pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
+       functions. 
+
+2005-09-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/13764
+       * cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.
+       * name-lookup.c (pushdecl_maybe_friend): Check it.
+       * decl.c (begin_function_body): Do nothing if it's false.
+       (finish_function_body): Ditto.
+       (outer_curly_brace_block): New fn.
+       (finish_function): Use it.
+
+2005-09-26  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/15855
+       * decl2.c (do_static_destruction): Remove.
+       (finish_static_initialization_or_destruction): Likewise.
+       (DECL_EFFECTIVE_INIT_PRIORITY): New macro.
+       (NEEDS_GUARD_P): Likewise.
+       (do_static_initialization): Rename to
+       do_static_initialization_or_destruction.  Process all
+       initializers/destructors and handle common conditionalizing.
+       (start_static_initialization_or_destruction): Rename to
+       one_static_initialization_or_destruction.  Handle only
+       decl-specific conditionalizing.
+       (cp_finish_file): Call do_static_initialization_or_destruction.
+
+2005-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/21983
+       * class.c (find_final_overrider): Move diagnostic about no unique final
+       overrider to...
+       (update_vtable_entry_for_fn): ... here.
+
+2005-09-21  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23993
+       * init.c (integral_constant_value): Use DECL_INTEGRAL_CONSTANT_VAR_P.
+
+2005-09-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/23965
+       * call.c (resolve_args): Return error_mark_node on arguments
+       whose TREE_TYPE is error_mark_node.
+
+2005-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/23947
+       * rtti.c (get_pseudo_ti_init): Recompute ti pointer after
+       get_tinfo_ptr calls.
+
+2005-09-16  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23914
+       * parser.c (cp_parser_enclosed_template_argument_list): Make sure
+       skip_evaluation is false when processing template arguments.
+
+       PR c++/21514
+       * pt.c (check_instantiated_args): Treat uses of anonymous types as
+       causing type-deduction failure.
+
+2005-09-15  Jason Merrill  <jason@redhat.com>
+
+       PR c++/23357
+       * cp-tree.def (SIZEOF_EXPR, ALIGNOF_EXPR): Change code class to
+       tcc_expression.
+
+2005-09-15  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23896
+       * pt.c (tsubst_aggr_type): Make sure skip_evaluation is false when
+       processing template arguments.
+
+       * pt.c (check_explicit_instantiation_namespace): Fix typo.
+
+       PR c++/13140
+       * decl.c (check_class_member_definition_namespace): New function.
+       (grokfndecl): Use it.
+       (grokvardecl): Likewise.
+       (grokdecl): Improve documentation.
+       * pt.c (check_explicit_instantiation_namespace): New function.
+       (register_specialization): Call check_specialization_namespace
+       when replacing an implicitly instantiated function.
+       (check_explicit_specialization): Ensure that DECL_CONTEXT is set
+       correctly for namespace-scope specializations.
+       (do_decl_instantiation): Use
+       check_explicit_instantiation_namespace.
+       (do_type_instantiation): Likewise.
+
+2005-09-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/23725
+       * error.c (dump_decl): <USING_DECL case> Use USING_DECL_SCOPE.
+
+2005-09-13  Bastian Blank <waldi@debian.org>
+
+       PR c++/16171
+       * mangle.c (find_substitution): Do not use special substitutions
+       for identifiers not in std::.
+       
+2005-09-13  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23839
+       * typeck.c (cxx_mark_addressable): Only check DECL_HARD_REGISTER
+       for VAR_DECLs.
+
+2005-09-13  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23842
+       * pt.c (tsubst_default_argument): Do treat default argument
+       expressions as occurring in the context of the function called. 
+
+2005-09-12  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23841
+       * parser.c (cp_parser_primary_expression): Recognize the closing
+       ">" of a template-argument-list after a floating-point literal as
+       the end of a cast expression.
+
+2005-09-12  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23789
+       * cvt.c (perform_qualification_conversions): Don't create
+       unnecessary NOP_EXPRs.
+       * pt.c (tsubst_template_arg): Use fold_non_dependent_expr.
+
+2005-09-12  Ian Lance Taylor  <ian@airs.com>
+
+       PR g++/7874
+       * cp-tree.h (struct lang_decl_flags): Add hidden_friend_p
+       bitfield.  Make dummy bitfield one bit smaller.
+       (DECL_HIDDEN_FRIEND_P): Define.
+       (pushdecl_maybe_friend): Declare.
+       (pushdecl_top_level_maybe_friend): Declare.
+       * decl.c (duplicate_decls): Add newdecl_is_friend parameter.
+       Change prototype and all callers.  Add assertion that a
+       DECL_ARTIFICIAL FUNCTION_DECL is not DECL_HIDDEN_FRIEND_P.  Set
+       DECL_ANTICIPATED and DECL_HIDDEN_FRIEND_P in duplicated decl if
+       appropriate.
+       * name-lookup.c (supplement_binding): Don't ignore a
+       DECL_HIDDEN_FRIEND_P.
+       (pushdecl_maybe_friend): Break out contents of pushdecl.  Add
+       is_friend parameter.  Set DECL_ANTICIPATED and
+       DECL_HIDDEN_FRIEND_P for a friend function.
+       (pushdecl): Just call pushdecl_maybe_friend.
+       (pushdecl_with_scope): Add is_friend parameter.  Change prototype
+       and all callers.
+       (pushdecl_namespace_level): Likewise.
+       (push_overloaded_decl): Likewise.  Check DECL_HIDDEN_FRIEND_P as
+       well as DECL_ANTICIPATED when checking for a builtin.
+       (do_nonmember_using_decl): Check DECL_HIDDEN_FRIEND_P as well as
+       DECL_ANTICIPATED when checking for a builtin.
+       (do_nonmember_using_decl): Likewise.
+       (pushdecl_top_level_1): Add is_friend parameter.  Change all
+       callers.
+       (pushdecl_top_level_maybe_friend): New function.
+       (remove_hidden_names): New function.
+       (struct arg_lookup): Add args field.
+       (friend_of_associated_class_p): New static function.
+       (arg_assoc_namespace): Ignore hidden functions which are not
+       friends of an associated class of some argument.
+       (lookup_arg_dependent): Remove hidden functions from list passed
+       in.  Initialize k.args.
+       * name-lookup.h (remove_hidden_names): Declare.
+       * friend.c (do_friend): Call pushdecl_maybe_friend instead of
+       pushdecl.
+       * call.c (add_function_candidate): Change DECL_ANTICIPATED test to
+       an assertion, with a check for DECL_HIDDEN_FRIEND_P.
+       (build_new_function_call): Add koenig_p parameter.  Change
+       prototype and callers.
+       * pt.c (register_specialization): Add is_friend parameter.  Change
+       all callers.
+       (push_template_decl_real): Change is_friend parameter to bool.
+       Change prototype and all callers.
+       (tsubst_friend_class): Call pushdecl_top_level_maybe_friend
+       instead of pushdecl_top_level.
+
+2005-09-11  Richard Henderson  <rth@redhat.com>
+
+       * decl2.c (build_anon_union_vars): Copy attributes from the base addr.
+       * pt.c (tsubst_decl): Substitute in DECL_VALUE_EXPR.
+
+2005-09-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * parser.c (cp_parser_translation_unit): Simplify.  The while-block
+       was actually executed at most once.
+
+2005-09-09  Richard Henderson  <rth@redhat.com>
+
+       PR debug/20998
+       * cp-tree.def (ALIAS_DECL): Remove.
+       * cp-lang.c (cp_init_ts): Remove support for it.
+       * error.c (dump_decl): Likewise.
+       * name-lookup.c (pushdecl): Likewise.
+       * semantics.c (finish_id_expression): Likewise.
+       * decl2.c (build_anon_union_vars): Use a VAR_DECL with
+       DECL_VALUE_EXPR instead.
+
+2005-09-09  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/22252
+       * decl.c (start_preparsed_function): Do not pay attention to
+       #pragma interface for implicitly-defined methods.
+       * decl2.c (cp_finish_file): Do not complain about uses of inline
+       functions that have bodies, even if we decided not to emit the
+       body in this translation unit.
+       * semantics.c (note_decl_for_pch): Do not mess with linkage.
+       (expand_or_defer_fn): Make inline, non-template functions COMDAT
+       at this point.
+
+2005-09-08  Richard Henderson  <rth@redhat.com>
+
+       PR debug/23190
+       * decl.c (wrapup_globals_for_namespace): Call
+       emit_debug_global_declarations.
+       * decl2.c (cp_finish_file): Likewise.
+
+2005-09-08  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23691
+       * decl2.c (mark_used): Instantiate static data members initialized
+       by constants, even in a template.
+
+2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR obj-c++/16816
+       * parser.c (cp_parser_objc_selector_expression): Treat CPP_SCOPE as
+       two CPP_COLON.
+
+2005-09-07  Richard Guenther  <rguenther@suse.de>
+
+       * cp-gimplify.c (cp_gimplify_expr): Create empty CONSTRUCTOR
+       for EMPTY_CLASS_EXPR.
+
+2005-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/23075
+       * typeck.c (check_return_expr): Add no_warning argument.  Set
+       *no_warning to true if "return-statement with no value, in function
+       returning" warning has been issued.
+       * cp-tree.h (check_return_expr): Adjust prototype.
+       * semantics.c (finish_return_stmt): Set TREE_NO_WARNING if
+       check_return_expr set *no_warning to true.
+
+2005-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (rvalue): New function.
+       * call.c (build_conditional_expr): Use it.
+       * init.c (build_new_1): Likewise.
+       * rtti.c (build_dynamic_cast_1): Likewise.
+       * tree.c (rvalue): New function.
+       * typeck.c (build_unary_op): Use it.
+       (build_static_cast_1): Likewise.
+
+       PR c++/9782
+       * init.c (build_new_1): Make sure the entire array type is
+       complete, not just its element types.
+
+2005-09-06  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * decl.c (check_elaborated_type_specifier): Remove redundant check.
+
+2005-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/23056
+       * typeck.c (ignore_overflows): New helper function.
+       (build_static_cast_1): Use it.
+
+2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
+
+       * cp-tree.h, decl.c, decl2.c, semantics.c: Fix comment typos.
+       Follow spelling conventions.
+
+2005-09-05  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23667
+       * pt.c (tsubst_decl): Clear DECL_TEMPLATE_INSTANTIATED when
+       copying a VAR_DECL.
+
+2005-09-05  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21440
+       * semantics.c (finish_stmt_expr_expr): Add an explicit
+       initialization to the last statement in the statement-expression.
+       * (finish_stmt_expr): Adjust accordingly.
+
+2005-09-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/23699
+       * decl2.c (mark_used): Always instantiate static data members
+       initialized by constant expressions.
+       * pt.c (instantiate_decl): Instantiate the initializers for static
+       data members initialized by constant expressions.
+
+       PR c++/21687
+       * semantics.c (expand_or_defer_fn): Do not call ggc_collect when
+       finishing processing for a template function in a local class.
+       Revert:
+       2005-09-02  Mark Mitchell  <mark@codesourcery.com>
+       * parser.c (cp_parser_class_specifier): Push/pop GC contexts
+       around functions in local classes.
+
+2005-09-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/21687
+       * parser.c (cp_parser_class_specifier): Push/pop GC contexts
+       around functions in local classes.
+
 2005-08-31  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR obj-c++/23640
        * typeck.c (build_binary_op): Handle vectors.
        (common_type): Same.
        (type_after_usual_arithmetic_conversions): Same.
-       * testsuite/g++.dg/conversion/simd2.C: New.
 
 2005-06-08  Nathan Sidwell  <nathan@codesourcery.com>