X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=3711dc64334f90876963bcd1cf43c9e0a0343f54;hp=773f364524973e720251479d47ed74b887fe3685;hb=1a720f4cfce262b11542a7bfe5b8d2a39d87f505;hpb=89b7df3a100b30f91343c688ea34f0a2d02792e0 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 773f3645249..3711dc64334 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,375 @@ +2012-07-17 Jason Merrill + + PR c++/53995 + * decl.c (finish_enum_value_list): Only call + insert_late_enum_def_into_classtype_sorted_fields in class scope. + +2012-07-17 Jason Merrill + + PR c++/53989 + * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL + to the list of variants. + +2012-07-17 Jason Merrill + + PR c++/53549 + * parser.c (cp_parser_class_head): Call xref_basetypes here. + (cp_parser_class_specifier_1): Not here. + * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms + as well as DECL_DEPENDENT_P. + +2012-07-13 Jason Merrill + + PR c++/53953 + * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. + +2012-07-10 Jason Merrill + + DR 1402 + PR c++/53733 + * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New. + (struct lang_decl_fn): Add suppress_implicit_decl field. + * method.c (implicitly_declare_fn): Check it. + (process_subob_fn): Add no_implicit_p parm. + (walk_field_subobs, synthesized_method_walk): Likewise. + (maybe_explain_implicit_delete): Adjust. + (explain_implicit_non_constexpr): Adjust. + + * method.c (synthesized_method_walk): Cleanups don't affect the EH + spec either. + +2012-07-02 Jason Merrill + + PR c++/53816 + * class.c (resolves_to_fixed_type_p): Check uses_template_parms + (current_function_decl) instead of processing_template_decl. + + PR c++/53821 + * semantics.c (maybe_add_lambda_conv_op): Don't set + DECL_INTERFACE_KNOWN. + +2012-06-27 Fabien Chêne + + PR c++/51214 + * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields): + Declare. + * class.c (insert_into_classtype_sorted_fields): New. + (add_enum_fields_to_record_type): New. + (count_fields): Adjust the comment. + (add_fields_to_record_type): Likewise. + (finish_struct_1): Move the code that inserts the fields for the + sorted case, into insert_into_classtype_sorted_fields, and call + it. + (insert_late_enum_def_into_classtype_sorted_fields): Define. + * decl.c (finish_enum_value_list): Call + insert_late_enum_def_into_classtype_sorted_fields if a late enum + definition is encountered. + +2012-06-25 Jason Merrill + + PR c++/53498 + PR c++/53305 + * pt.c (tsubst_pack_expansion): Copy before dummy tsubst. + + PR c++/52988 + * typeck.c (decay_conversion): Don't discard side-effects from + expressions of nullptr_t. + + PR c++/53202 + * semantics.c (build_data_member_initialization): Always keep + initializer for empty base. + (cxx_eval_bare_aggregate): Discard it here. + +2012-06-25 Jakub Jelinek + + PR c++/53594 + * class.c (check_bases_and_members): Avoid -Wuninitialized + diagnostics for non-static const members or references if they + use NSDMI. + +2012-06-19 Jason Merrill + + PR c++/53651 + * name-lookup.c (constructor_name_p): Don't try to look at the + name of a DECLTYPE_TYPE. + + Reapply: + PR c++/53137 + * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE. + (instantiate_decl): Don't push_to_top_level for local class methods. + (instantiate_class_template_1): Or for local classes. + + PR c++/53599 + * pt.c (lookup_template_class_1): Use ts_global. + +2012-06-14 Richard Guenther + + Backport from mainline + 2012-06-11 Richard Guenther + + PR c++/53616 + * mangle.c (write_array_type): Use double-ints for array domain + arithmetic. + +2012-06-14 Richard Guenther + + Backport from mainline + 2012-06-06 Fabien Chêne + + PR c++/52841 + * parser.c (cp_parser_alias_declaration): Return earlier + if an error occured. + +2012-06-14 Release Manager + + * GCC 4.7.1 released. + +2012-06-12 Jason Merrill + + PR c++/53599 + Revert: + PR c++/53137 + * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE. + (instantiate_decl): Don't push_to_top_level for local class methods. + (instantiate_class_template_1): Or for local classes. + +2012-06-04 Paolo Carlini + + PR c++/53524 + * call.c (build_conditional_expr_1): Use OPT_Wenum_compare + to control enumeral mismatch in conditional expression too. + +2012-06-01 Jason Merrill + + PR c++/52973 + * parser.c (cp_parser_class_head): Apply attributes here. + * semantics.c (begin_class_definition): Not here. + * cp-tree.h: Adjust. + + PR c++/52725 + * parser.c (cp_parser_binary_expression): Bail early if we're parsing + tentatively and the LHS has a parse error. + +2012-06-01 Jason Merrill + + PR c++/53137 + * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE. + (instantiate_decl): Don't push_to_top_level for local class methods. + (instantiate_class_template_1): Or for local classes. + + PR c++/53484 + * pt.c (do_auto_deduction): Don't try to deduce from a + type-dependent initializer. + +2012-05-31 Jason Merrill + + PR c++/53500 + PR c++/52905 + * call.c (joust): Handle comparing list and non-list ctors. + +2012-05-30 Jason Merrill + + PR c++/53356 + * tree.c (stabilize_init): Side effects make the init unstable. + +2012-05-30 Jason Merrill + + PR c++/53220 + * call.c (convert_like_real) [ck_list]: Take array address directly. + * typeck.c (decay_conversion): Reject decay of an array compound + literal. + +2012-05-29 Paolo Carlini + + PR c++/53491 + * tree.c (stabilize_expr): Handle exp of void type. + +2012-05-28 Paolo Carlini + + PR c++/53503 + * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR. + +2012-05-15 Alexandre Oliva + + PR c++/53209 + * pt.c (tsubst_decl): Bail out if argvec is error_mark_node. + +2012-05-10 Paolo Carlini + + PR c++/53301 + * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P + instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning. + +2012-05-03 Paolo Carlini + + PR c++/53186 + * call.c (build_over_call): Handle final member functions + and class types. + (build_new_method_call_1): Do not handle here. + +2012-04-17 Paolo Carlini + + PR c++/53003 + * parser.c (cp_parser_member_declaration): Check that + initializer_token_start is non null before dereferencing it. + +2012-04-16 Jason Merrill + + PR c++/38543 + * pt.c (determine_specialization): Instead of comparing the number + of parms, check that tsubst gives the right answer. + + PR c++/50830 + * pt.c (convert_template_argument): Handle template template + argument packs. + + PR c++/50303 + * pt.c (tsubst_pack_expansion): Use tsubst_expr for template + template parameters. + +2012-04-15 Jason Merrill + + PR c++/52292 + PR c++/52380 + * pt.c (coerce_template_parms): Even if we aren't converting we + want to expand argument packs. + +2012-04-15 Fabien Chêne + + PR c++/52465 + * parser.c (cp_parser_class_name): Call strip_using_decl and + return the target decl. + * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl + to be stripped is NULL_TREE. + (qualify_lookup): Call strip_using_decl and perform some checks on + the target decl. + +2012-04-13 Jason Merrill + + PR c++/52824 + * pt.c (any_pack_expanson_args_p): New. + (coerce_template_parms): Use it. + +2012-04-11 Jason Merrill + + PR c++/52906 + * decl.c (check_tag_decl): Don't complain about attributes if we + don't even have a type. + +2012-04-05 Jason Merrill + + PR c++/52596 + * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF + as an lvalue. + +2012-04-03 Jason Merrill + + PR c++/52796 + * pt.c (tsubst_initializer_list): A pack expansion with no elements + means value-initialization. + +2012-03-29 Meador Inge + + PR c++/52672 + * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold + stripped child trees that are not pointer types. + +2012-03-29 Paolo Carlini + + PR c++/52718 + * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant + warn for a zero as null pointer constant default argument. + +2012-03-29 Jason Merrill + + PR c++/52685 + * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P. + +2012-03-29 Jakub Jelinek + + PR c++/52759 + * decl.c (start_decl): Don't call maybe_apply_pragma_weak + if processing_template_decl. + +2012-03-29 Jason Merrill + + PR c++/52743 + * call.c (compare_ics): Handle ck_aggr like ck_list. + +2012-03-28 Jason Merrill + + PR c++/52746 + * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if + we didn't get an explicit scope. + * pt.c (tsubst_baselink): Likewise. + +2012-03-22 Paolo Carlini + + PR c++/52487 + * class.c (check_field_decls): Call literal_type_p only + on complete types. + +2012-03-22 Jakub Jelinek + + PR c++/52671 + * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION + on CLASS_TYPE_P types. + +2012-03-22 Jason Merrill + + PR c++/52582 + * method.c (implicitly_declare_fn): Set DECL_EXTERNAL. + +2012-03-22 Jakub Jelinek + + Backported from mainline + 2012-03-14 Jakub Jelinek + + PR c++/52521 + * parser.c (lookup_literal_operator): Return fn only if + processed all arguments from args vector and argtypes is + void_list_node. + +2012-03-22 Release Manager + + * GCC 4.7.0 released. + +2012-03-20 Jason Merrill + + * mangle.c (write_type): Handle 'auto'. + * init.c (build_new): Don't do auto deduction where it might + affect template mangling. + +2012-03-07 Jason Merrill + + PR c++/52521 + * mangle.c (write_literal_operator_name): The length comes after the + operator prefix. + +2012-02-29 Jason Merrill + + PR c++/51930 + * decl.c (check_tag_decl): Move warning for misplaced attributes here. + (shadow_tag): From here. + * parser.c (cp_parser_explicit_instantiation): Don't warn here. + +2012-02-21 Jakub Jelinek + + PR c++/52312 + * typeck.c (check_literal_operator_args): Initialize *long_double_p + and *long_long_unsigned_p even if processing_template_decl. + +2012-02-16 Jason Merrill + + PR c++/52248 + * decl.c (define_label): Use timevar_cond_start/stop. + +2012-02-16 Fabien Chêne + + PR c++/52126 + * decl.c (xref_basetypes): call dependent_scope_p instead of + dependent_type_p. + 2012-02-16 Jason Merrill PR c++/51415