X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=83945e2508d9632433199586d2a2c9beb55b74e5;hb=4518d968bf7d768307907eef8f9969575ba066f3;hp=47f53080a315642cecac41bcdaf043d7d5a5f5ad;hpb=933b10c65ef30c7ad6d743a451953289b00a4215;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 47f53080a31..83945e2508d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,491 +1,3 @@ -2010-05-22 Jan Hubicka - - * 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 - - * cxx-pretty-print.c: Correct merge error. - -2010-05-21 Joseph Myers - - * 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 - - * error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c: - Clean up redundant includes. - -2010-05-20 Paolo Carlini - - PR c++/30298 - * decl.c (xref_basetypes): Return false in case of ill-formed - redefinition. - -2010-05-19 Jason Merrill - - * 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 - - * tree.c (build_min_non_dep_call_vec): Update comment. - -2010-05-17 Jason Merrill - - * 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 - Jason Merrill - - PR c++/44108 - * decl.c (compute_array_index_type): Call mark_rvalue_use. - -2010-05-15 Jason Merrill - - * 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 - - PR c++/44148 - * pt.c (tsubst): Unshare template argument. - -2010-05-15 Steven Bosscher - - * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes. - * Make-lang.in: Fix dependencies accordingly. - -2010-05-14 Jason Merrill - - 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 - - * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef - and define. - -2010-05-14 Jonathan Wakely - - * call.c (build_new_method_call): Change warning text. - * typeck2.c (build_functional_cast): Change error text. - -2010-05-14 Shujing Zhao - - 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 - - * 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 - - * decl.c (cp_finish_decl): Do not worry about used attribute. - -2010-05-12 Jason Merrill - - * 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. - * cp-tree.h (NULLPTR_TYPE_P): New. - (SCALAR_TYPE_P): Use it. - (nullptr_type_node): New. - (cp_tree_index): Add CPTI_NULLPTR_TYPE. - * decl.c (cxx_init_decl_processing): Call record_builtin_type on - nullptr_type_node. - * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE. - * cxx-pretty-print.c (pp_cxx_constant): Likewise. - * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise. - * mangle.c (write_type): Likewise. - * name-lookup.c (arg_assoc_type): Likewise. - * typeck.c (build_reinterpret_cast_1): Likewise. - * rtti.c (typeinfo_in_lib_p): Likewise. - (emit_support_tinfos): Remove local nullptr_type_node. - - * cp-tree.h (UNKNOWN_TYPE): Remove. - * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead. - * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise. - * typeck2.c (cxx_incomplete_type_diagnostic): Likewise. - * class.c (instantiate_type): Check unknown_type_node rather than - UNKNOWN_TYPE. - * name-lookup.c (maybe_push_decl): Likewise. - * rtti.c (get_tinfo_decl_dynamic): Likewise. - (get_typeid): Likewise. - * semantics.c (finish_offsetof): Likewise. - - PR c++/20669 - * call.c (add_template_candidate_real): If deduction fails, still - add the template as a non-viable candidate. - (equal_functions): Handle template candidates. - (print_z_candidate): Likewise. - (print_z_candidates): Likewise. - (build_new_function_call): Likewise. - - * cp-tree.h (LOOKUP_LIST_ONLY): New. - * call.c (add_candidates): Enforce it. - (build_new_method_call): Try non-list ctor if no viable list ctor. - (build_user_type_conversion_1): Likewise. - - * call.c (add_candidates): Distinguish between type(x) and - x.operator type(). - (convert_class_to_reference): Set LOOKUP_NO_CONVERSION. - (build_new_method_call): Give better error for conversion op. - - * call.c (add_candidates): Add first_arg and return_type parms. - Add special constructor/conversion op handling. - (convert_class_to_reference): Use it. - (build_user_type_conversion_1): Likewise. - (build_op_call): Likewise. - (build_new_method_call): Likewise. - (build_new_op): Adjust. - (perform_overload_resolution): Adjust. - -2010-05-11 Paolo Carlini - - PR c++/34272 - PR c++/43630 - PR c++/34491 - * pt.c (process_partial_specialization): Return error_mark_node - in case of unused template parameters in partial specialization. - -2010-05-11 Jakub Jelinek - - PR c++/44062 - * semantics.c (finish_expr_stmt): Don't call mark_exp_read here... - * cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR, - look at its second operand. - -2010-05-10 Jason Merrill - - PR c++/44017 - * semantics.c (baselink_for_fns): Revert earlier change. - - PR c++/44045 - * typeck.c (cp_build_modify_expr): Complain about assignment to - array from init list. - -2010-05-10 Fabien Chêne - - PR c++/43719 - * decl.c (check_initializer): strip array type before checking for - uninitialized const or ref members. - -2010-05-07 Fabien Chêne - - PR c++/43951 - * init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the - error count. Emit errors only if compain is true. - (build_new_1): Do not return error_mark_node if - diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any - errors. Delay the check for user-provided constructor. - (perform_member_init): Adjust. - * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the - prototype. - -2010-05-06 Magnus Fromreide - Jason Merrill - - Add support for C++0x nullptr. - * cp-tree.def: Add NULLPTR_TYPE. - * cp-tree.h: Add nullptr_node. - (cp_tree_index): Add CPTI_NULLPTR. - (SCALAR_TYPE_P): Add NULLPTR_TYPE. - * call.c (null_ptr_cst_p): Handle nullptr. - (standard_conversion): Likewise. - (convert_arg_to_ellipsis): Likewise. - * mangle.c (write_type): Likewise. - * name-lookup.c (arg_assoc_type): Likewise. - * parser.c (cp_parser_primary_expression): Likewise. - * typeck.c (cp_build_binary_op): Likewise. - (build_reinterpret_cast_1): Likewise. - * error.c (dump_type): Likewise. - (dump_type_prefix, dump_type_suffix): Likewise. - * decl.c (cxx_init_decl_processing): Likewise. - * cxx-pretty-print.c (pp_cxx_constant): Likewise. - * cvt.c (ocp_convert): Likewise. - * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put - nullptr_t tinfo in libsupc++. - -2010-05-06 Jason Merrill - - * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR. - -2010-04-22 Jakub Jelinek - Dodji Seketeli - - PR c/18624 - * cp-tree.h (mark_exp_read, rvalue_use, lvalue_use, type_use): - Declare ... - * expr.c (mark_exp_read, rvalue_use, lvalue_use, type_use): ... new fns. - * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call type_use. - (decay_conversion, perform_integral_promotions): Call rvalue_use. - (cp_build_unary_op): Call lvalue_use. - * decl.c (unused_but_set_errorcount): New variable. - (poplevel): Issue -Wunused-but-set-variable diagnostics. - (duplicate_decls): Merge DECL_READ_P flags. - (start_cleanup_fn): Set DECL_READ_P flag. - (finish_function): Issue -Wunused-but-set-parameter diagnostics. - * tree.c (rvalue): Call rvalue_use. - * pt.c (convert_nontype_argument): Likewise. - * semantics.c (finish_expr_stmt, finish_asm_stmt, finish_typeof, - finish_decltype_type): Likewise. - * call.c (convert_like_real) : Call rvalue use. - (build_x_va_arg, build_new_method_call, build_over_call): Call lvalue_use - or rvalue_use depending on the expr. - * init.c (build_new, build_delete): Likewise. - * rtti.c (build_typeid, build_dynamic_cast_1): Likewise. - -2010-05-05 Jason Merrill - - PR c++/43787 - * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes. - * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here. - -2010-05-04 Paolo Carlini - - PR c++/43028 - * pt.c (unify): Check each elt for error_mark_node. - -2010-05-04 Jason Merrill - - PR c++/38064 - * typeck.c (cp_build_binary_op): Allow enums for <> as well. - -2010-05-04 Paolo Carlini - - PR c++/43705 - * call.c (build_new_method_call): Return error_mark_node if fns is - NULL_TREE. - -2010-05-03 Dodji Seketeli - - PR c++/43953 - * pt.c (most_specialized_class): Pretend we are processing - a template decl during the call to coerce_template_parms. - -2010-05-03 Jason Merrill - - PR c++/42810 - PR c++/43680 - * decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE - from the selected underlying type unless -fstrict-enums. Set - ENUM_UNDERLYING_TYPE to have the restricted range. - * cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE. - * class.c (check_bitfield_decl): Likewise. - -2010-05-01 H.J. Lu - - PR c++/43951 - * init.c (build_new_1): Revert the accidental checkin in - revision 158918. - -2010-04-30 Jason Merrill - - PR c++/43868 - * cxx-pretty-print.c (pp_cxx_decl_specifier_seq): Move pmf handling... - (pp_cxx_type_specifier_seq): ...here. - -2010-04-30 Steven Bosscher - - * optimize.c, parser.c, mangle.c, cp-tree.h: Do not include varray.h. - * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H. - -2010-04-30 Shujing Zhao - - PR c++/43779 - * typeck.c (warn_args_num): New function. - (convert_arguments): Use warn_args_num to print the diagnostic - messages. - -2010-04-29 Fabien Chêne - - PR c++/43890 - * init.c (diagnose_uninitialized_cst_or_ref_member): check for - user-provided constructor while recursing. - -2010-04-28 Manuel López-Ibáñez - - PR c++/9335 - * error.c (print_instantiation_partial_context_line): Handle - recursive instantiation. - (print_instantiation_partial_context): Likewise. - -2010-04-27 Jason Merrill - - * init.c (perform_member_init): Check CLASS_TYPE_P. - -2010-04-27 Fabien Chêne - - PR c++/29043 - * init.c (perform_member_init): check for uninitialized const or - reference members, including array types. - -2010-04-24 Jason Merrill - - * tree.c (get_fns): Split out from get_first_fn. - * cp-tree.h: Declare it. - * search.c (shared_member_p): Use it. - * semantics.c (finish_qualified_id_expr): Simplify. - (finish_id_expression): Simplify. - - * semantics.c (finish_non_static_data_member): Call maybe_dummy_object - whenever object is NULL_TREE. Don't do 'this' capture here. - (finish_qualified_id_expr): Pass NULL_TREE. - (finish_id_expression): Likewise. - (lambda_expr_this_capture): Likewise. - - * semantics.c (finish_qualified_id_expr): Use maybe_dummy_object - rather than checking current_class_ref directly. - (finish_call_expr): Likewise. - - PR c++/43856 - * name-lookup.c (qualify_lookup): Disqualify lambda op(). - * class.c (current_nonlambda_class_type): New fn. - * semantics.c (nonlambda_method_basetype): New. - * cp-tree.h: Declare them. - * tree.c (maybe_dummy_object): Handle implicit 'this' capture. - - * semantics.c (baselink_for_fns): Correct BASELINK_BINFO. - - PR c++/43875 - * semantics.c (lambda_return_type): Complain about - braced-init-list. - - PR c++/43790 - * tree.c (cv_unqualified): Handle error_mark_node. - - PR c++/41468 - * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node - if we don't want errors. - - PR c++/41468 - * class.c (convert_to_base): Add complain parameter. Pass - ba_quiet to lookup_base if we don't want errors. - (build_vfield_ref): Pass complain to convert_to_base. - * call.c (convert_like_real): Likewise. - (initialize_reference): Likewise. - (perform_direct_initialization_if_possible): Pass complain to - convert_like_real. - * cp-tree.h: Adjust. - -2010-04-27 Fabien Chêne - Jason Merrill - - PR c++/42844 - * decl.c (check_for_uninitialized_const_var): Handle classes that need - constructing, too. - (check_initializer): Call it for classes that need constructing, too. - * class.c (in_class_defaulted_default_constructor): New. - * cp-tree.h: Declare it. - -2010-04-20 Jason Merrill - - PR c++/9335 - * init.c (constant_value_1): Treat error_mark_node as a constant - if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set. - * cvt.c (ocp_convert): Handle getting error_mark_node from - integral_constant_value. - * decl.c (compute_array_index_type): Likewise. - 2010-04-20 Dodji Seketeli PR c++/43800 @@ -579,7 +91,6 @@ * typeck.c (cxx_sizeof_expr): Likewise. (strip_array_domain): New. - PR c++/43145 * name-lookup.c (current_decl_namespace): Non-static. (pop_nested_namespace): Sanity check. * cp-tree.h: Declare current_decl_namespace.