X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=36dfe71b550524eda0625097941133edd1a7e1f4;hb=9dc37081918650c9ce10046a14484bb4c4204f83;hp=fda48be1907ce451ea47e97f22ceae7cef6a2c12;hpb=0906df39074a1d5bf98311e7733f577ed4529bde;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index fda48be1907..36dfe71b550 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,319 +1,5 @@ -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. @@ -456,7 +142,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. @@ -652,6 +337,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.