OSDN Git Service

Fix PR c++/44188
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index 5be74a3..2350ae6 100644 (file)
@@ -1,5 +1,608 @@
+2010-05-25  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/44188
+       * cp-tree.h (typedef_variant_p): Move this declaration to
+       gcc/tree.h.
+       * tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
+       * decl.c (grokdeclarator): Do not rename debug info of an
+       anonymous tagged type named by a typedef.
+
+2010-06-05  Fabien ChĂȘne  <fabien@gcc.gnu.org>
+       
+       PR c++/44086
+       * class.c (check_field_decls): Move the call to
+       check_bitfield_decl before trying to set the
+       CLASSTYPE_READONLY_FIELDS_NEED_INIT flag.
+
+2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * typeck.c: Update include path for moved files.
+       * decl.c: Likewise.
+       * rtti.c: Likewise.
+       * cp-gimplify.c: Likewise.
+       * cp-lang.c: Likewise.
+       * pt.c: Likewise.
+       * semantics.c: Likewise.
+       * cxx-pretty-print.h: Likewise.
+       * decl2.c: Likewise.
+       * parser.c: Likewise.
+       * cp-objcp-common.c: Likewise.
+       * cp-tree.h: Likewise.
+       * name-lookup.c: Likewise.
+       * lex.c: Likewise.
+       * name-lookup.h: Likewise.
+       * config-lang.in: Update paths in gtfiles for files in c-family/.
+       * Make-lang.in: Likewise.
+
+2010-06-04  Magnus Fromreide  <magfr@lysator.liu.se>
+
+       * cvt.c (cp_convert_to_pointer): Use null_ptr_cst_p.
+       * typeck.c (build_ptrmemfunc): Likewise.
+
+2010-06-04  Jason Merrill  <jason@redhat.com>
+
+       * typeck2.c (merge_exception_specifiers): Adjust merging of
+       throw() and noexcept(true).
+
+       * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid
+       using an uninitialized variable.
+
+       * cxx-pretty-print.c (pp_cxx_unary_expression): Handle NOEXCEPT_EXPR.
+       (pp_cxx_expression): Likewise.
+
+       Implement noexcept-specification (15.4)
+       * parser.c (cp_parser_exception_specification_opt): Parse it.
+       Give -Wdeprecated warning about throw() specs.
+       * pt.c (tsubst_exception_specification): Handle it.
+       * error.c (dump_exception_spec): Handle it.
+       (dump_expr): Handle NOEXCEPT_EXPR.
+       * cxx-pretty-print.c (pp_cxx_exception_specification): Likewise.
+       * typeck.c (comp_except_specs): Handle compatibility rules.
+       Change exact parm to take an enum.
+       * typeck2.c (merge_exception_specifiers): Handle noexcept.
+       * except.c (nothrow_spec_p, type_noexcept_p): New fns.
+       (type_throw_all_p, build_noexcept_spec): New fns.
+       * cp-tree.h (TYPE_NOTHROW_P, TYPE_NOEXCEPT_P): Use them.
+       (comp_except_specs): Define ce_derived, ce_normal, ce_exact enums.
+       (cp_tree_index): Add CPTI_NOEXCEPT_TRUE_SPEC, CPTI_NOEXCEPT_FALSE_SPEC.
+       (noexcept_true_spec, noexcept_false_spec): New macros.
+       * name-lookup.c (pushdecl_maybe_friend): Adjust.
+       * search.c (check_final_overrider): Adjust.
+       * decl.c (check_redeclaration_exception_specification): Adjust.
+       (use_eh_spec_block): Use type_throw_all_p.
+       (cxx_init_decl_processing): Set noexcept_false_spec,noexcept_true_spec.
+       Give operator new a noexcept-specification in C++0x mode.
+       * tree.c (build_exception_variant, cxx_type_hash_eq): Adjust.
+       (cp_build_type_attribute_variant): Don't test TYPE_RAISES_EXCEPTIONS.
+
+       Implement noexcept operator (5.3.7)
+       * cp-tree.def (NOEXCEPT_EXPR): New.
+       * except.c (check_noexcept_r, finish_noexcept_expr): New.
+       * cp-tree.h: Declare finish_noexcept_expr.
+       * parser.c (cp_parser_unary_expression): Parse noexcept-expression.
+       * pt.c (tsubst_copy_and_build): And tsubst it.
+       (type_dependent_expression_p): Handle it.
+       (value_dependent_expression_p): Handle it.
+
+       * call.c (build_conditional_expr): Never fold in unevaluated context.
+       * tree.c (build_aggr_init_expr): Propagate TREE_NOTHROW.
+       * semantics.c (simplify_aggr_init_expr): Likewise.
+       * typeck.c (merge_types): Call merge_exception_specifiers.
+       * decl.c (duplicate_decls): Check DECL_SOURCE_LOCATION rather than
+       DECL_ANTICIPATED for preferring new type.
+
+2010-06-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * g++spec.c (lang_specific_driver): Use GCC-specific formats in
+       diagnostics.
+
+2010-06-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/44412
+       * typeck.c (build_class_member_access_expr): Call mark_exp_read
+       on object for static data members.
+
+2010-06-04  Jakub Jelinek  <jakub@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/44362
+       * call.c (build_conditional_expr): If both arg2 and arg3 are lvalues
+       with the same type, call mark_lvalue_use on both.
+
+2010-06-03  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * class.c (struct vtbl_init_data_s): Remove last_init field.
+       (struct secondary_vptr_vtt_init_data_s): Change type of inits field
+       to a VEC.
+       (finish_vtbls): Use a VEC rather than a TREE_LIST for the accumulated
+       initializers.
+       (build_vtt): Likewise.
+       (initialize_vtable): Take a VEC instead of a tree.
+       (build_vtt_inits): Change return type to void.  Take a VEC **
+       instead of a tree *; accumulate results into said VEC.
+       (build_ctor_vtbl_group): Use a VEC rather than a TREE_LIST for the
+       accumulated initializers.  Pass the vtable to accumulate_vtbl_inits.
+       (accumulate_vtbl_inits): Add extra vtable tree parameter; take a VEC
+       instead of a tree.
+       (dfs_accumulate_vtbl_inits): Likewise.  Change return type to void.
+       (build_vtbl_initializer): Add VEC parameter; accumulate initializers
+       into it.
+       (dfs_build_secondary_vptr_vtt_inits): Use CONSTRUCTOR_APPEND_ELT
+       rather than tree_cons.
+       (build_vbase_offset_vtbl_entries): Likewise.
+       (add_vcall_offset): Likewise.
+       (build_rtti_vtbl_entries): Likewise.
+       * cp-tree.h (initialize_artificial_var): Take a VEC instead of a tree.
+       * decl.c (initialize_artificial_var): Use build_constructor instead
+       of build_constructor_from_list.
+
+2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR c++/44294
+       * class.c (layout_class_type): Check MAX_FIXED_MODE_SIZE on
+       bit-field.
+
+2010-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * parser.c (cp_parser_mem_initializer_list): Change error text.
+
+2010-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-objcp-common.c (shadowed_var_for_decl): Change into
+       tree_decl_map hashtab from tree_map.
+       (decl_shadowed_for_var_lookup, decl_shadowed_for_var_insert): Adjust.
+       (init_shadowed_var_for_decl): Adjust initialization.
+
+       PR c++/44361
+       * cvt.c (convert_to_void): If implicit is NULL, call mark_rvalue_use
+       instead of calling mark_exp_read only when not an assignment.
+
+       PR debug/44367
+       * semantics.c (finalize_nrv): Don't copy DECL_ARTIFICIAL, DECL_IGNORED_P,
+       DECL_SOURCE_LOCATION and DECL_ABSTRACT_ORIGIN from var to result.
+       Set DECL_VALUE_EXPR on var.
+
+2010-06-02  Jason Merrill  <jason@redhat.com>
+
+       * error.c (dump_type): Improve typedef handling.
+
+       PR c++/9726
+       PR c++/23594
+       PR c++/44333
+       * name-lookup.c (same_entity_p): New.
+       (ambiguous_decl): Multiple declarations of the same entity
+       are not ambiguous.
+
+2010-06-01  Jason Merrill  <jason@redhat.com>
+
+       DR 990
+       * call.c (add_list_candidates): Prefer the default constructor.
+       (build_aggr_conv): Treat missing initializers like { }.
+       * typeck2.c (process_init_constructor_record): Likewise.
+       * init.c (expand_default_init): Use digest_init for
+       direct aggregate initialization, too.
+
+       * call.c (add_list_candidates): Split out...
+       (build_user_type_conversion_1): ...from here.
+       (build_new_method_call): And here.
+       (implicit_conversion): Propagate LOOKUP_NO_NARROWING.
+
+       PR c++/44358
+       * call.c (build_list_conv): Set list-initialization flags properly.
+
+2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * typeck2.c (build_x_arrow): Make types_memoized a VEC.
+
+2010-06-01  Arnaud Charlet  <charlet@adacore.com>
+           Matthew Gingell  <gingell@adacore.com>
+
+       * Make-lang.in (CXX_C_OBJS): Add c-ada-spec.o.
+       * decl2.c: Include langhooks.h and c-ada-spec.h.
+       (cpp_check, collect_source_refs, collect_ada_namespace,
+       collect_all_refs): New functions.
+       (cp_write_global_declarations): Add handling of -fdump-ada-spec.
+       * lang-specs.h: Ditto.
+
+2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cp-tree.h (cp_build_function_call_nary): Declare.
+       * typeck.c (cp_build_function_call_nary): Define.
+       * decl.c (register_dtor_fn): Use it instead of
+       cp_build_function_call.
+       (cxx_maybe_build_cleanup): Likewise.
+       * decl2.c (generate_ctor_or_dtor_function): Likewise.
+       * except.c (do_get_exception_ptr): Likewise.
+       (do_begin_catch): Likewise.
+       (do_allocate_exception): Likewise.
+       (do_free_exception): Likewise.
+       (build_throw): Likewise.  Use cp_build_function_call_vec instead
+       of cp_build_function_call.
+       (do_end_catch): Likewise.
+
+2010-05-29  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cp-tree.h (struct cp_decl_specifier_seq): Move type_location field up.
+       (struct cp_declarator): Move id_loc field up.
+
+2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cp-tree.h (ATTRIBUTE_GCC_CXXDIAG): Remove.  Require that
+       this file is included before c-common.h.  Define GCC_DIAG_STYLE
+       before including diagnostic-core.h and toplev.h.
+       (pedwarn_cxx98): Use ATTRIBUTE_GCC_DIAG.
+       * pt.c: Include cp-tree.h before c-common.h.
+
+2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tree.c (c_register_addr_space): Add stub.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * g++spec.c (lang_specific_driver): Use fatal_error instead of
+       fatal.
+
+2010-05-28  Dodji Seketeli  <dodji@redhat.com>
+
+       Revert fix of PR c++/44188
+       * cp-tree.h (typedef_variant_p): Revert moving this declaration to
+       gcc/tree.h.
+       * tree.c (typedef_variant_p): Revert moving this definition to
+       gcc/tree.c.
+       * decl.c (grokdeclarator): Revert naming typedef handling.
+
+2010-05-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * call.c: Include diagnostic-core.h instead of diagnostic.h.
+       * cp-lang.c: Don't include diagnostic.h
+       * name-lookup.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       (cp_emit_debug_info_for_using): Use seen_error.
+       * optimize.c: Include diagnostic-core.h instead of diagnostic.h.
+       * parser.c: Include diagnostic-core.h instead of diagnostic.h.
+       * pt.c (iterative_hash_template_arg): Use seen_error.
+       * repo.c: Include diagnostic-core.h instead of diagnostic.h.
+       * typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
+       * Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
+       cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
+       dependencies.
+
+2010-05-25  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/44188
+       * cp-tree.h (typedef_variant_p): Move this declaration to
+       gcc/tree.h.
+       * tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
+       * decl.c (grokdeclarator): Do not rename debug info of an
+       anonymous tagged type named by a typedef.
+
+2010-05-27  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43555
+       * decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
+       anonymous VLA size.
+
+2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR bootstrap/44287
+       * rtti.c (emit_support_tinfos): Check for NULL_TREE.
+       * class.c (layout_class_type): Likewise.
+       * decl.c (finish_enum): Likewise.
+       * mangle.c (write_builitin_type): Likewise.
+
+2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
+
+       * cp-tree.h (cp_decl_specifier_seq): Add new bifield
+       explicit_int128_p.
+       * decl.c (grokdeclarator): Handle __int128.
+       * parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise.
+       (cp_parser_simple_type_specifier): Likewise.
+       * rtti.c (emit_support_tinfos): Add int128 nodes for rtti.
+       * typeck.c (cp_common_type): Handle __int128.
+       * mangle.c (integer_type_codes): Add itk_int128 and
+       itk_unsigned_int128.
+
+2010-05-26  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43382
+       * pt.c (tsubst_pack_expansion): Don't get confused by recursive
+       unification.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cp-lang.c: Do not include expr.h.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * decl.c: Do not include rtl.h
+       * semantics.c: Likewise.
+
+2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cp-tree.h: Do not include splay-tree.h.
+       (struct prtmem_cst): Remove unused field and false comment.
+       * typeck.c: Do not include rtl.h, expr.h, and tm_p.h.
+       * optimize.c: Do not inclde rtl.h, insn-config.h, and integrate.h.
+       * init.c: Do not include rtl.h and expr.h.
+       * class.c: Do not include rtl.h.  Include splay-tree.h.
+       (build_clone): Use plain NULL instead of NULL_RTX.
+       * decl.c: Do not include expr.h.  Explain why rtl.h has to be
+       included.  Include splay-tree.h.
+       * method.c: Do not include rtl.h and expr.h.
+       (use_thunk): Use plain NULL instead of NULL_RTX.
+       * except.c: Do not include rtl.h, expr.h, and libfuncs.h.
+       * tree.c: Do not include rtl.h, insn-config.h, integrate.h,
+       and target.h.  Include splay-tree.h.
+       * expr.c: Do not include rtl.h and expr.h.
+       * pt.c: Do not include obstack.h and rtl.h.
+       (tsubst_friend_function): Use plain NULL instead of NULL_RTX.
+       (tsubst_decl): Likewise.
+       (instantiate_decl): Likewise.
+       * semantics.c: Do not include exprt.h and debug.h.  Explain why
+       rtl.h has to be included.
+       * decl2.c: Do not include rtl.h and expr.h.  Include splay-tree.h.
+       * call.c: Do not include rtl.h and expr.h.
+       * search.c: Do not include obstack.h and rtl.h.
+       * friend.c: Do not include rtl.h and expr.h.
+       * Make-lang.in: Update dependencies.
+
+2010-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/18249
+       * parser.c (non_integral_constant): Add NIC_NONE.
+       (required_token): Add RT_NONE.
+       (cp_parser_unary_expression): Initialize non_constant_p
+       to NIC_NONE.
+       (cp_parser_asm_definition): Initialize missing to RT_NONE.
+       (cp_parser_primary_expression, cp_parser_postfix_expression,
+       cp_parser_cast_expression, cp_parser_binary_expression,
+       cp_parser_functional_cast): Fix formatting.
+
+2010-05-25  Shujing Zhao  <pearly.zhao@oracle.com>
+       
+       PR c++/18249
+       * parser.c: Remove inclusion of dyn-string.h.
+       (non_integral_constant): New enum.
+       (name_lookup_error): New enum.
+       (required_token): New enum.
+       (cp_parser_required_error): New function.
+       (cp_parser_require): Change the type of variable token_desc to
+       required_token and use cp_parser_required_error.
+       (cp_parser_require_keyword): Likewise.
+       (cp_parser_error): Use gmsgid as parameter.
+       (cp_parser_name_lookup_error): Change the type of variable desired to
+       name_lookup_error and put the diagnostic in the full sentences. Change
+       caller.
+       (cp_parser_non_integral_constant_expression): Change the type of the
+       variable thing to non_integral_constant and put the diagnostics in
+       full sentences. Change caller.
+
+2010-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/44100
+       * typeck.c (cp_build_unary_op): Fold offsetof-like computations.
+
+2010-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * error.c (cp_diagnostic_starter): Update call to
+       diagnostic_build_prefix.
+       (cp_print_error_function,
+       print_instantiation_partial_context_line): Check show_column flag
+       in context.
+
+2010-05-24  Jason Merrill  <jason@redhat.com>
+
+       PR c++/41510
+       * decl.c (check_initializer): Don't wrap an init-list in a
+       TREE_LIST.
+       * init.c (build_aggr_init): Don't assume copy-initialization if
+       init has CONSTRUCTOR_IS_DIRECT_INIT.
+       * call.c (build_new_method_call): Sanity check.
+
+2010-05-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * rtti.c (tinfo_base_init): Use build_constructor instead of
+       build_constructor_from_list.  Don't cons a tree node for
+       returning.
+       (generic_initializer): Use build_constructor_single instead of
+       build_constructor_from_list.
+       (ptr_initializer): Use build_constructor instead of
+       build_constructor_from_list
+       (ptm_initializer): Likewise.
+       (class_initializer): Likewise.  Take varargs instead of TRAIL.
+       (get_pseudo_ti_init): Adjust calls to class_initializer.  Use
+       build_constructor instead of build_constructor_from_list.
+
+2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * semantics.c: Include bitmap.h.
+       * Make-lang.in: Update dependencies.
+
+2010-05-22  Jan Hubicka  <jh@suse.cz>
+
+       * decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
+       comdat vtables.
+       (cxx_callgraph_analyze_expr): Remove code marking vtables needed.
+
+2010-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * cxx-pretty-print.c: Correct merge error.
+
+2010-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * error.c: Include tree-diagnostic.h and tree-pretty-print.h.
+       (cp_print_error_function): Use diagnostic_abstract_origin macro.
+       (cp_printer): Handle %K here using percent_K_format.
+       * cxx-pretty-print.c: Include tree-pretty-print.h.
+       * Make-lang.in (cp/error.o, cp/cxx-pretty-print.o): Update
+       dependencies.
+
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
+       Clean up redundant includes.
+
+2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/30298
+       * decl.c (xref_basetypes): Return false in case of ill-formed
+       redefinition.
+
+2010-05-19  Jason Merrill  <jason@redhat.com>
+
+       * call.c (reference_binding): Use cp_build_qualified_type_real
+       and cp_type_quals consistently.
+       (add_function_candidate): Likewise.
+       (build_conditional_expr): Likewise.
+       (convert_like_real): Likewise.
+       (type_passed_as): Likewise.
+       * class.c (add_method): Likewise.
+       (same_signature_p): Likewise.
+       (layout_class_type): Likewise.
+       * decl.c (cxx_init_decl_processing): Likewise.
+       (cp_fname_init): Likewise.
+       (grokdeclarator): Likewise.
+       * decl2.c (cp_reconstruct_complex_type): Likewise.
+       * init.c (build_new_1): Likewise.
+       * method.c (do_build_copy_constructor): Likewise.
+       (implicitly_declare_fn): Likewise.
+       * pt.c (tsubst_aggr_type): Likewise.
+       (tsubst): Likewise.
+       * rtti.c (init_rtti_processing): Likewise.
+       (build_headof): Likewise.
+       (build_dynamic_cast_1): Likewise.
+       (tinfo_base_init): Likewise.
+       (emit_support_tinfos): Likewise.
+       * semantics.c (capture_decltype): Likewise.
+       * tree.c (cv_unqualified): Likewise.
+       * typeck.c (composite_pointer_type): Likewise.
+       (string_conv_p): Likewise.
+
+       * mangle.c (write_CV_qualifiers_for_type): Tweak.
+
+       * call.c (initialize_reference): Use CP_TYPE_CONST_P.
+       * decl.c (start_decl): Likewise.
+       * semantics.c (finish_compound_literal): Likewise.
+       * typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
+       (cp_type_readonly): Remove.
+       * cp-tree.h: Remove declaration.
+
+       * typeck.c (merge_types): Preserve memfn quals.
+
+       * decl.c (grokdeclarator): Don't check quals on fn type.
+       * typeck.c (cp_apply_type_quals_to_decl): Likewise.
+       * tree.c (cp_build_qualified_type_real): Simplify qualifier checking.
+
+       PR c++/44193
+       * typeck.c (type_memfn_quals): New fn.
+       (apply_memfn_quals): New fn.
+       (cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
+       (cp_type_readonly): Use cp_type_quals.
+       * cp-tree.h: Add declarations.
+       * tree.c (cp_build_qualified_type_real): Don't set, but do
+       preserve, quals on FUNCTION_TYPE.
+       (strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
+       * decl.c (build_ptrmem_type): Likewise.
+       (grokdeclarator): Likewise.
+       (static_fn_type): Likewise.
+       * decl2.c (change_return_type): Likewise.
+       (cp_reconstruct_complex_type): Likewise.
+       * pt.c (tsubst_function_type): Likewise.
+       (unify): Likewise.
+       (tsubst): Likewise.  Drop special FUNCTION_TYPE substitution code.
+
+2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_min_non_dep_call_vec): Update comment.
+
+2010-05-17  Jason Merrill  <jason@redhat.com>
+
+       * call.c (struct z_candidate): Add explicit_targs field.
+       (add_template_candidate_real): Set it.
+       (build_over_call): Use it to control init-list warning.
+
+       PR c++/44157
+       * call.c (build_over_call): Limit init-list deduction warning to
+       cases where the argument is actually an init-list.
+
+       PR c++/44158
+       * call.c (build_over_call): Don't do bitwise copy for move ctor.
+
+2010-05-17  Dodji Seketeli  <dodji@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/44108
+       * decl.c (compute_array_index_type): Call mark_rvalue_use.
+
+2010-05-15  Jason Merrill  <jason@redhat.com>
+
+       * cp-tree.h (TYPE_NOEXCEPT_P): New macro.
+       * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
+       TYPE_NOEXCEPT_P.
+       (finish_eh_spec_block): Adjust.
+
+2010-05-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/44148
+       * pt.c (tsubst): Unshare template argument.
+
+2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
+       * Make-lang.in: Fix dependencies accordingly.
+
+2010-05-14  Jason Merrill  <jason@redhat.com>
+
+       C++ DR 475
+       * except.c (build_throw): Simplify, adjust for DR 475.
+
+       PR c++/44127
+       * except.c (dtor_nothrow): Return nonzero for type with
+       trivial destructor.
+
+       PR c++/44127
+       * cp-gimplify.c (gimplify_must_not_throw_expr): Use
+       gimple_build_eh_must_not_throw.
+
+2010-05-14  Martin Jambor  <mjambor@suse.cz>
+
+       * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
+       and define.
+
+2010-05-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * call.c (build_new_method_call): Change warning text.
+       * typeck2.c (build_functional_cast): Change error text.
+
+2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c++/30566
+       * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
+       shadowing the outer parameter or variables by the declaration of
+       nested function in nested structure or class. Warn the shadowing by
+       the declaration of nested lambda expression.
+
+2010-05-13  Jason Merrill  <jason@redhat.com>
+
+       * typeck.c (cp_build_array_ref): Factor out from...
+       (build_array_ref): ...here.  Drop complain parm.
+       (build_new_op): Adjust.
+       * class.c (build_vtbl_ref_1): Adjust.
+       * decl2.c (grok_array_decl): Adjust.
+       * cp-tree.h: Adjust prototypes.
+
+2010-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * decl.c (cp_finish_decl): Do not worry about used attribute.
+
 2010-05-12  Jason Merrill  <jason@redhat.com>
 
+       * typeck.c (build_array_ref): Take complain parm.
+       * cp-tree.h: Add it to prototype.
+       * call.c (build_new_op): Pass it.
+       * class.c (build_vtbl_ref): Pass it.
+       * decl2.c (grok_array_decl): Pass it.
+
        PR bootstrap/44048
        PR target/44099
        * cp-tree.def (NULLPTR_TYPE): Remove.