X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=c5b8e76829e77d8e2df842372aad6c76884973b3;hb=3e7ec0410c5af58912ec8b1e512b3f187d36fc85;hp=84b8ae53350874b9f08f89b3af9540154139bc2b;hpb=f2c64a1bb029df4e3c245fd055074497ecb077ce;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 84b8ae53350..c5b8e76829e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,469 +1,5 @@ -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 - PR c++/43704 - * typeck.c (incompatible_dependent_types_p): If one of the - compared types if not a typedef then honour their main variant - equivalence. - -2010-04-20 Jakub Jelinek - - * cp-tree.h (TYPE_REF_IS_RVALUE): Remove. - -2010-04-19 Dodji Seketeli - - PR c++/43704 - * typeck.c (structural_comptypes): Test dependent typedefs - incompatibility before testing for their main variant based - equivalence. - -2010-04-19 Jakub Jelinek - - * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use - ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5. - -2010-04-18 Eric Botcazou - - * decl.c (cxx_init_decl_processing): Remove second argument in call to - build_common_tree_nodes. - -2010-04-14 Jason Merrill - - PR c++/36625 - * parser.c (cp_parser_parenthesized_expression_list): Change - is_attribute_list parm to int to indicate whether or not to - handle initial identifier specially. - (cp_parser_attribute_list): Use attribute_takes_identifier_p. - -2010-04-13 Jason Merrill - - * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of - CLASS_TYPE_P. - * parser.c (cp_parser_lambda_expression): Complain about lambda in - unevaluated context. - * pt.c (iterative_hash_template_arg): Don't crash on lambda. - -2010-04-12 Jason Merrill - - PR c++/43641 - * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak - return value directly. - - * call.c (type_decays_to): Call cv_unqualified for non-class type. - -2010-04-12 Fabien Chene - - PR c++/25811 - * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare. - * init.c (build_new_1): Check for uninitialized const members and - uninitialized reference members, when using new without - new-initializer. Call diagnose_uninitialized_cst_or_ref_member. - (diagnose_uninitialized_cst_or_ref_member): Define, call - diagnose_uninitialized_cst_or_ref_member_1. - (diagnose_uninitialized_cst_or_ref_member_1): New function. - -2010-04-12 Richard Guenther - - PR c++/43611 - * semantics.c (expand_or_defer_fn_1): Do not keep extern - template inline functions. - -2010-04-09 Manuel López-Ibáñez - - PR c++/28584 - * typeck.c (cp_build_c_cast): Warn for casting integer to larger - pointer type. - 2010-04-07 Jason Merrill - PR c++/43016 - * decl.c (start_preparsed_function): Do defer nested functions. - - PR c++/11094, DR 408 - * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New. - * decl2.c (finish_static_data_member_decl): Set it. - * decl.c (duplicate_decls): Propagate it. - * pt.c (tsubst_decl): Don't substitute the domain of an array - VAR_DECL if it's set. - (regenerate_decl_from_template): Substitute it here. - (type_dependent_expression_p): Return true if it's set. - * semantics.c (finish_decltype_type): Instantiate such a variable. - * 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. @@ -659,6 +195,11 @@ 2010-03-03 Jason Merrill PR c++/12909 + * mangle.c (mangle_decl): Handle VAR_DECL, too. + +2010-03-03 Jason Merrill + + PR c++/12909 * mangle.c: Include cgraph.h. (mangle_decl): If the mangled name will change in a later ABI version, make the later mangled name an alias.