diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/cp/ChangeLog | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 1562 |
1 files changed, 1562 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog new file mode 100644 index 000000000..f5ef3234f --- /dev/null +++ b/gcc/cp/ChangeLog @@ -0,0 +1,1562 @@ +2013-04-12 Release Manager + + * GCC 4.6.4 released. + +2013-04-03 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2013-02-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/56239 + * parser.c (cp_parser_token_starts_cast_expression): Renamed to... + (cp_parser_tokens_start_cast_expression): ... this. Change parameter + to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN, + return true only if 2nd token isn't CPP_CLOSE_PAREN. + (cp_parser_cast_expression): Adjust caller. + + 2012-10-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/54858 + * tree.c (cp_tree_equal): Handle FIELD_DECL. + +2013-03-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/56403 + * init.c (build_zero_init_1): Use RECORD_OR_UNION_CODE_P instead + of CLASS_TYPE_P. + +2013-02-09 Jason Merrill <jason@redhat.com> + + PR c++/56247 + * pt.c (eq_specializations): Set comparing_specializations. + * tree.c (cp_tree_equal): Check it. + * cp-tree.h: Declare it. + +2013-01-04 Jason Merrill <jason@redhat.com> + + PR c++/55877 + * decl.c (reset_type_linkage, bt_reset_linkage): New. + (grokdeclarator): Use reset_type_linkage. + * name-lookup.c (binding_table_foreach): Handle null table. + * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME. + +2013-01-02 Jason Merrill <jason@redhat.com> + + PR c++/55032 + PR c++/55245 + * tree.c (build_cplus_array_type): Copy layout information + to main variant if necessary. + +2012-12-11 Jason Merrill <jason@redhat.com> + + PR c++/54883 + * decl2.c (min_vis_r): Handle anon visibility for enums. + +2012-12-06 Jason Merrill <jason@redhat.com> + + PR c++/55249 + * tree.c (build_vec_init_elt): Use the type of the initializer. + +2012-11-29 Jason Merrill <jason@redhat.com> + + PR c++/53862 + * pt.c (tsubst_arg_types): Add "end" parameter. + (check_undeduced_parms): Use it. + + PR c++/51662 + * method.c (process_subob_fn): Increment function_depth around call to + instantiate_decl. + +2012-11-29 Kai Tietz <ktietz@redhat.com> + + PR target/53912 + * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t. + (dump_vtable): Likewise. + +2012-09-13 Jason Merrill <jason@redhat.com> + + PR c++/54511 + * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P. + +2012-06-25 Jason Merrill <jason@redhat.com> + + PR c++/52988 + * typeck.c (decay_conversion): Don't discard side-effects from + expressions of nullptr_t. + +2012-04-04 Steve Ellcey <sje@cup.hp.com> + + Backported from mainline. + * decl.c (cxx_init_decl_processing): Use ptr_mode instead of Pmode. + +2012-04-03 Jason Merrill <jason@redhat.com> + + PR c++/52796 + * pt.c (tsubst_initializer_list): A pack expansion with no elements + means value-initialization. + +2012-03-01 Release Manager + + * GCC 4.6.3 released. + +2012-02-14 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2012-02-14 Jakub Jelinek <jakub@redhat.com> + + PR c++/52247 + * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call + lookup_label on label's name and set TREE_USED. + + PR c/52181 + * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than + newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits. + +2012-02-09 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2012-01-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/51669 + * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr + on OMP_CLAUSE_{IF,NUM_THREADS,SCHEDULE_CHUNK}_EXPR. + + 2011-12-15 Jakub Jelinek <jakub@redhat.com> + + PR c/51360 + * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR + and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use. + +2012-01-19 Kai Tietz <ktietz@redhat.com> + + PR c++/51344 + * decl2.c (save_template_attributes): Use merge_attributes + instead of chaining up via TREE_CHAIN. + +2012-01-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/51854 + * mangle.c (write_template_arg_literal): Sorry instead of aborting. + +2012-01-16 Jason Merrill <jason@redhat.com> + + PR c++/51868 + * typeck.c (build_static_cast_1): Handle bit-fields properly. + +2011-12-20 Dodji Seketeli <dodji@redhat.com> + + PR debug/49951 + * decl.c (cxx_maybe_build_cleanup): Don't set location of the call + to the destructor. + +2011-12-16 Jason Merrill <jason@redhat.com> + + PR c++/51416 + * init.c (build_value_init_noctor): Check for incomplete type. + +2011-12-16 Jason Merrill <jason@redhat.com> + + PR c++/51331 + * class.c (convert_to_base_statically): Just call + build_simple_base_path. + (build_simple_base_path): Check field offset. + +2011-12-14 Jason Merrill <jason@redhat.com> + + PR c++/51248 + * decl.c (copy_type_enum): Also update variants. + (finish_enum): Allow variants of complete enums. + +2011-12-13 Jason Merrill <jason@redhat.com> + + PR c++/51406 + PR c++/51161 + * typeck.c (build_static_cast_1): Fix cast of lvalue to + base rvalue reference. + +2011-11-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/51265 + * semantics.c (finish_decltype_type): Handle PTRMEM_CST. + +2011-11-18 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/51150 + * pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR. + +2011-11-07 Jason Merrill <jason@redhat.com> + + PR c++/50870 + * pt.c (tsubst_copy): Handle NAMESPACE_DECL. + (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent + object. + +2011-11-04 Eric Botcazou <ebotcazou@adacore.com> + + PR c++/50608 + * semantics.c (finish_offsetof): Adjust call to fold_offsetof. + * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1. + +2011-10-29 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50901 + * call.c (build_new_op_1): Handle ABS_EXPR together with the + other unary EXPR. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + +2011-10-19 Jason Merrill <jason@redhat.com> + + PR c++/50793 + * tree.c (bot_manip): Propagate AGGR_INIT_ZERO_FIRST. + +2011-10-19 Jason Merrill <jason@redhat.com> + + PR c++/50787 + * parser.c (cp_parser_initializer_clause): Don't call + maybe_constant_value here. + +2011-10-18 Jason Merrill <jason@redhat.com> + + PR c++/50531 + * pt.c (instantiate_decl): Recognize when a function defaulted + outside the class is already instantiated. + +2011-10-15 Nicola Pero <nicola.pero@meta-innovation.com> + + Backport from mainline + 2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>, + + PR obj-c++/48275 + * parser.c (cp_parser_objc_at_property_declaration): Allow setter + and getter names to use all the allowed method names. + +2011-10-13 Jason Merrill <jason@redhat.com> + + PR c++/50618 + * init.c (expand_aggr_init_1): Don't zero-initialize virtual + bases of a base subobject. + +2011-10-11 Jason Merrill <jason@redhat.com> + + PR c++/49216 + * init.c (build_vec_init): Avoid crash on new int[1]{}. + + PR c++/49855 + PR c++/49896 + * call.c (perform_implicit_conversion_flags): Do perform + scalar conversions in templates. + * pt.c (tsubst_copy, tsubst_copy_and_build): Handle CONVERT_EXPR. + +2011-10-11 Janis Johnson <janisjo@codesourcery.com> + + PR c++/44473 + * mangle.c (write_type): Handle CV qualifiers for decimal classes. + +2011-10-11 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50611 + * pt.c (tsubst_copy_and_build): If (complain & tf_error) is false + do not call unqualified_name_lookup_error. + +2011-10-09 Jakub Jelinek <jakub@redhat.com> + Diego Novillo <dnovillo@google.com> + + * pt.c (reregister_specialization): Use htab_find instead of + htab_find_slot with INSERT. + +2011-09-26 Jason Merrill <jason@redhat.com> + + PR c++/46105 + * typeck.c (structural_comptypes): Ignore cv-quals on typename scope. + + PR c++/50508 + * semantics.c (cxx_eval_logical_expression): Use tree_int_cst_equal + rather than ==. + +2011-09-23 Jason Merrill <jason@redhat.com> + + Core 253 - allow const objects with no initializer or + user-provided default constructor if the defaulted constructor + initializes all the subobjects. + PR c++/20039 + PR c++/42844 + * class.c (default_init_uninitialized_part): New. + * cp-tree.h: Declare it. + * decl.c (check_for_uninitialized_const_var): Use it. + * init.c (perform_member_init): Likewise. + (build_new_1): Likewise. + * method.c (walk_field_subobs): Likewise. + +2011-09-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50491 + * semantics.c (potential_constant_expression_1): Handle USING_DECL. + +2011-09-17 Jason Merrill <jason@redhat.com> + + PR c++/50442 + Revert: + PR c++/49267 + * call.c (compare_ics): rvaluedness_matches_p can differ + based on the source type, not just target. + +2011-09-16 Jason Merrill <jason@redhat.com> + + PR c++/50424 + * tree.c (bot_manip): Set cp_function_chain->can_throw. + +2011-09-13 Dodji Seketeli <dodji@redhat.com> + + PR c++/48320 + * pt.c (template_parameter_pack_p): Support TEMPLATE_PARM_INDEX + nodes. Add a comment. + (arg_from_parm_pack_p): New static function, factorized out from + tsubst_pack_expansion and extended to support non-type parameter + packs represented with TEMPLATE_PARM_INDEX nodes. + (tsubst_pack_expansion): Use arg_from_parm_pack_p. + +2011-09-08 Jakub Jelinek <jakub@redhat.com> + + PR c++/50255 + * method.c (use_thunk): If emitting thunk into the same section + as function, use the same DECL_COMDAT_GROUP as well. + +2011-09-07 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50309 + * decl.c (grokdeclarator): Check u.function.exception_specification + for error_mark_node. + +2011-09-04 Jason Merrill <jason@redhat.com> + + PR c++/49267 + * call.c (compare_ics): rvaluedness_matches_p can differ + based on the source type, not just target. + +2011-08-29 Jakub Jelinek <jakub@redhat.com> + Jason Merrill <jason@redhat.com> + + PR c++/50207 + * class.c (finish_struct_1): Complain if the first field is + artificial. + +2011-08-30 Jason Merrill <jason@redhat.com> + + PR c++/50089 + * semantics.c (finish_id_expression): Use + current_nonlambda_class_type for qualified-ids. + + PR c++/50220 + * semantics.c (add_capture): Call complete_type for copy. + + PR c++/50234 + * semantics.c (cxx_eval_component_reference): Handle + value-initialization for omitted initializers. + +2011-08-29 Jason Merrill <jason@redhat.com> + + PR c++/50224 + * semantics.c (finish_id_expression): Mark captured variables used. + +2011-08-25 Jason Merrill <jason@redhat.com> + + PR c++/50157 + * call.c (convert_like_real): Exit early if bad and !tf_error. + +2011-08-23 Jason Merrill <jason@redhat.com> + + PR c++/50024 + * semantics.c (maybe_constant_value): Don't try to fold { }. + * pt.c (build_non_dependent_expr): Don't wrap { }. + * init.c (build_value_init): Allow scalar value-init in templates. + +2011-08-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/46862 + * class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type + which doesn't have any fields, clear it and diagnose. + +2011-08-16 Jason Merrill <jason@redhat.com> + + PR c++/50086 + * pt.c (unify_pack_expansion): Correct overloaded unification + logic. + + PR c++/50054 + * typeck2.c (cxx_incomplete_type_diagnostic): Handle + init_list_type_node. + +2011-08-12 David Li <davidxl@google.com> + + * class.c (update_vtable_entry_for_fn): Set + LOST_PRIMARY bit properly. + +2011-08-05 Jason Merrill <jason@redhat.com> + + PR c++/48993 + * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Sorry + on 'this' in a constructor. + + PR c++/49921 + * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p. + + PR c++/49669 + * init.c (perform_member_init): Handle invalid array initializer. + + PR c++/49988 + * semantics.c (cxx_eval_array_reference): Handle failure to + reduce the array operand to something we can work with. + +2011-08-02 Jason Merrill <jason@redhat.com> + + PR c++/43886 + * parser.c (cp_parser_lambda_body): Clear local_variables_forbidden_p. + + PR c++/49593 + * pt.c (find_parameter_packs_r): Handle CONSTRUCTOR. + + PR c++/49803 + * init.c (sort_mem_initializers): Initialize uses_unions_p here. + (build_field_list): Not here. + + PR c++/49924 + * semantics.c (cxx_eval_vec_init_1): Fix logic. + + PR c++/49260 + * call.c (build_call_a): Set cp_function_chain->can_throw here. + (build_cxx_call): Not here. + +2011-07-27 Jeffrey Yasskin <jyasskin@google.com> + + * pt.c (build_template_decl): Copy the function_decl's + source location to the new template_decl. + +2011-07-19 Jason Merrill <jason@redhat.com> + + PR c++/49785 + * pt.c (coerce_template_parms): Handle non-pack after pack. + +2011-07-11 Jason Merrill <jason@redhat.com> + + PR c++/49672 + * pt.c (extract_fnparm_pack): Split out from... + (make_fnparm_pack): ...here. + (instantiate_decl): Handle non-pack parms after a pack. + * semantics.c (maybe_add_lambda_conv_op): Don't in a template. + +2011-07-09 Jason Merrill <jason@redhat.com> + + * tree.c (build_vec_init_elt): Strip TARGET_EXPR. + + * tree.c (build_vec_init_expr): Don't add TARGET_EXPR. + * typeck2.c (digest_init_r): Handle VEC_INIT_EXPR. + * semantics.c (cxx_eval_vec_init_1): Correct type. + +2011-07-07 Jason Merrill <jason@redhat.com> + + PR c++/48157 + * pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in + partial instantiation. + +2011-07-07 Jakub Jelinek <jakub@redhat.com> + + PR c/49644 + * typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with + one non-complex and one complex argument, call save_expr on both + operands. + +2011-07-05 Jason Merrill <jason@redhat.com> + + PR c++/49598 + * semantics.c (finish_id_expression): convert_from_reference. + + * error.c (type_to_string): Avoid redundant akas. + +2011-06-27 Jason Merrill <jason@redhat.com> + + PR c++/49528 + * semantics.c (potential_constant_expression_1): A TARGET_EXPR + of non-literal type isn't constant. + (cxx_eval_constant_expression): Likewise. + * init.c (expand_default_init): Use maybe_constant_init. + + PR c++/49440 + * class.c (set_linkage_according_to_type): Hand off to + determine_visibility. + + PR c++/49418 + * call.c (cxx_type_promotes_to): Don't strip cv-quals. + * semantics.c (lambda_return_type): Strip them here. + +2011-06-27 Release Manager + + * GCC 4.6.1 released. + +2011-06-23 Jason Merrill <jason@redhat.com> + + PR c++/49507 + * decl2.c (mark_used): Don't call synthesize_method for + functions defaulted outside the class. + +2011-06-21 Jason Merrill <jason@redhat.com> + + PR c++/49482 + * semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for + static fn parameters. + +2011-06-16 Jason Merrill <jason@redhat.com> + + PR c++/49229 + * pt.c (tsubst_decl) [FUNCTION_DECL]: Handle substitution failure. + + PR c++/49251 + * semantics.c (finish_id_expression): Mark even dependent + variables as used. + +2011-06-14 Jason Merrill <jason@redhat.com> + + * error.c (type_to_string): Print typedef-stripped version too. + + PR c++/49117 + * call.c (perform_implicit_conversion_flags): Print source type as + well as expression. + + PR c++/49369 + * class.c (build_base_path): Fix cv-quals in unevaluated context. + + PR c++/49290 + * semantics.c (cxx_eval_indirect_ref): Remove assert. + +2011-06-09 Jason Merrill <jason@redhat.com> + + * semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR. + +2011-06-08 Jason Merrill <jason@redhat.com> + + * semantics.c (potential_constant_expression_1): Handle destructor + call. + +2011-06-07 Jason Merrill <jason@redhat.com> + + PR c++/48780 + * typeck.c (perform_integral_promotions): Don't promote scoped enums. + * call.c (convert_arg_to_ellipsis): Promote them here in old ABI. + +2011-06-06 Jason Merrill <jason@redhat.com> + + PR c++/49298 + * semantics.c (potential_constant_expression_1): Handle FIELD_DECL. + + PR c++/49134 + * tree.c (build_target_expr): Deal with ARM ABI tweaks. + +2011-06-03 Jakub Jelinek <jakub@redhat.com> + + PR c++/49276 + * mangle.c (write_nested_name): Use CP_DECL_CONTEXT instead of + DECL_CONTEXT. + +2011-05-30 Jakub Jelinek <jakub@redhat.com> + + PR c++/49223 + * semantics.c (finish_omp_clauses): Call require_complete_type + even for copyin/copyprivate clauses. Only call + cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P. + +2011-05-27 Jason Merrill <jason@redhat.com> + + PR c++/47049 + * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing. + * decl.c (start_preparsed_function): Don't call comdat_linkage for + a template. + + PR c++/47277 + * parser.c (cp_parser_unqualified_id): Don't check + constructor_name_p for enums. + + PR c++/48284 + * error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot + with INDIRECT_REF of REFERENCE_TYPE. + + PR c++/48657 + PR c++/49176 + * decl.c (cp_finish_decl): Simplify template handling. + +2011-05-26 Jason Merrill <jason@redhat.com> + + PR c++/48424 + * decl.c (grokparms): Function parameter packs don't need to + go at the end. + * pt.c (type_unification_real): But they aren't deduced otherwise. + +2011-05-25 Jason Merrill <jason@redhat.com> + + PR c++/44994 + PR c++/49156 + * error.c (dump_template_bindings): Set processing_template_decl + for a partial instantiation. + + PR c++/45401 + * decl.c (grokdeclarator): Don't change type when adding rvalue ref + to another reference type. + +2011-05-26 Fabien ChĂȘne <fabien@gcc.gnu.org> + * init.c (diagnose_uninitialized_cst_or_ref_member_1): Use + permerror instead of error, adjust the error count. + +2011-05-25 Jason Merrill <jason@redhat.com> + + PR c++/44311 + * decl.c (case_conversion): New. + (finish_case_label): Use it. + + PR c++/45698 + * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT. + + PR c++/46005 + * decl.c (grokdeclarator): Complain about auto typedef. + + PR c++/46245 + * decl.c (grokdeclarator): Complain later for auto parameter. + * pt.c (splice_late_return_type): Handle use in a template + type-parameter. + + PR c++/46696 + * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN. + + PR c++/47184 + * parser.c (cp_parser_parameter_declaration): Recognize + list-initialization. + (cp_parser_direct_declarator): Check for the closing + paren before parsing definitely. + + PR c++/48935 + * parser.c (cp_parser_constructor_declarator_p): Don't check + constructor_name_p for enums. + (cp_parser_diagnose_invalid_type_name): Correct error message. + +2011-05-25 Jason Merrill <jason@redhat.com> + + PR c++/45418 + * init.c (perform_member_init): Handle list-initialization + of array of non-trivial class type. + + PR c++/45080 + * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op. + * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P. + + PR c++/48292 + * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of + function parameter pack. + (tsubst_pack_expansion): Likewise. + +2011-05-25 Jakub Jelinek <jakub@redhat.com> + + PR c++/49136 + * semantics.c (cxx_eval_bit_field_ref): Handle the + case when BIT_FIELD_REF doesn't cover only a single field. + +2011-05-24 Jason Merrill <jason@redhat.com> + + PR c++/49042 + * pt.c (get_mostly_instantiated_function_type): Use + push_deferring_access_checks rather than set flag_access_control. + + PR c++/48884 + * pt.c (fn_type_unification): Disable access control during + substitution. + + PR c++/49105 + * typeck.c (build_const_cast_1): Handle rvalue references. + + PR c++/47263 + * decl.c (use_eh_spec_block): Do use an EH spec block for a + lambda op(). + + PR c++/47336 + * error.c (dump_template_bindings): Suppress access control. + + PR c++/47544 + * pt.c (instantiate_decl): Handle =default. + + PR c++/48617 + * pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE. + +2011-05-22 Jason Merrill <jason@redhat.com> + + PR c++/48647 + * typeck.c (composite_pointer_type_r): Return error_mark_node + on error in SFINAE context. + +2011-05-20 Jason Merrill <jason@redhat.com> + + PR c++/48945 + * decl.c (revert_static_member_fn): Ignore const on constexpr fn. + + PR c++/48780 + * cvt.c (type_promotes_to): Warn about promoting scoped enums. + + PR c++/49066 + * decl.c (duplicate_decls): Preserve DECL_DELETED_FN. + + DR 1073 + PR c++/49082 + * typeck.c (comp_except_specs): noexcept(false) is not compatible + with throw(type-list). + * typeck2.c (merge_exception_specifiers): noexcept(false) + beats any more limited specification. + + PR c++/48948 + * class.c (finalize_literal_type_property): Only check + for constexpr member functions of non-literal class. + * decl.c (cp_finish_decl): Don't call validate_constexpr_fundecl. + * semantics.c (literal_type_p): Call complete_type. + + * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO + rather than DECL_TEMPLATE_INSTANTIATION. + (cxx_eval_call_expression): Likewise. + + * semantics.c (register_constexpr_fundef): Add to hash table here. + (validate_constexpr_fundecl): Not here. + + PR c++/48745 + * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR. + + PR c++/48736 + * pt.c (tsubst_copy_and_build): Handle substitution of a pack + expansion producing another expansion. + + PR c++/48873 + * tree.c (stabilize_expr): Don't make gratuitous copies of classes. + +2011-05-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/49043 + * decl.c (check_omp_return): Stop searching on sk_function_parms. + + PR c++/48869 + * method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument, + pass it down to locate_fn_flags. + * cp-tree.h (get_dtor, get_copy_ctor): Adjust prototypes. + * semantics.c (cxx_omp_create_clause_info): Adjust callers. + * cp-gimplify.c: Include splay-tree.h. + (splay_tree_compare_decl_uid, omp_var_to_track, + omp_cxx_notice_variable): New functions. + (struct cp_genericize_omp_taskreg): New type. + (struct cp_genericize_data): Add omp_ctx field. + (cp_genericize_r): Attempt to determine implicitly determined + firstprivate class type variables. + (cp_genericize): Clear omp_ctx. + * Make-lang.in (cp/cp-gimplify.o): Depend on $(SPLAY_TREE_H). + +2011-05-11 Jason Merrill <jason@redhat.com> + + * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p. + +2011-05-11 Fabien ChĂȘne <fabien@gcc.gnu.org> + + PR c++/48859 + * init.c (diagnose_uninitialized_cst_or_ref_member_1): stop the + recursion if there is user defined constructor. + +2011-05-09 Dodji Seketeli <dodji@redhat.com> + + PR c++/48574 + * class.c (fixed_type_or_null): Use type_dependent_p_push to test + if the instance has a dependent initializer. + +2011-05-06 Jason Merrill <jason@redhat.com> + + PR c++/48909 + * semantics.c (cxx_eval_conditional_expression): Check + integer_zerop instead. + (potential_constant_expression_1): Likewise. + + PR c++/48911 + * semantics.c (cxx_eval_array_reference): Handle implicit + initializers. + + PR c++/48446 + * decl.c (stabilize_save_expr_r, stabilize_vla_size): New. + (grokdeclarator): Use stabilize_vla_size. + * init.c (get_temp_regvar): No longer static. + * cp-tree.h: Declare it. + + PR c++/48089 + * semantics.c (potential_constant_expression_1): Don't allow *this + in a constructor. + (register_constexpr_fundef): Use potential_rvalue_constant_expression. + +2011-05-06 Dodji Seketeli <dodji@redhat.com> + + PR c++/48838 + * cp-tree.h (non_static_member_function_p): Declare new function. + * tree.c (non_static_member_function_p): Define it. + * semantics.c (finish_call_expr): Use it. + +2011-05-04 Jason Merrill <jason@redhat.com> + + PR c++/48749 + * class.c (resolves_to_fixed_type_p): Don't look closely + in templates. + +2011-04-28 Dodji Seketeli <dodji@redhat.com> + + PR c++/48656 + * semantics.c (finish_call_expr): Don't forget BASELINK nodes when + considering call expressions involving a member function. + +2011-04-27 Jason Merrill <jason@redhat.com> + + PR c++/48046 + * parser.c (cp_parser_diagnose_invalid_type_name): Commit + to tentative parse sooner. + +2011-04-26 Jason Merrill <jason@redhat.com> + + PR c++/42687 + * parser.c (cp_parser_primary_expression): Set *idk to + CP_ID_KIND_NONE for a parenthesized identifier. + +2011-04-26 Jason Merrill <jason@redhat.com> + + PR c++/48726 + * call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR. + * decl.c (reshape_init_array_1): Likewise. + +2011-04-25 Jason Merrill <jason@redhat.com> + + PR c++/48707 + * pt.c (value_dependent_expression_p): Handle type-dependent + expression. + +2011-04-20 Jason Merrill <jason@redhat.com> + + * semantics.c (finish_compound_literal): Don't put an array + with a dtor in a static variable. + +2011-04-20 Jason Merrill <jason@redhat.com> + + PR c++/48594 + * decl2.c (build_offset_ref_call_from_tree): Move + non-dependency of object outside condition. + + PR c++/48657 + * decl.c (cp_finish_decl): Handle non-member constant variables + in templates, too. + +2011-04-19 Jason Merrill <jason@redhat.com> + + PR c++/46304 + * typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR. + +2011-04-18 Jason Merrill <jason@redhat.com> + + PR c++/48537 + * init.c (build_value_init): Handle UNION_TYPE the same. + +2011-04-18 Jakub Jelinek <jakub@redhat.com> + + PR c++/48632 + * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr + for type dependent pointers. + +2011-04-13 Jason Merrill <jason@redhat.com> + + PR c++/48594 + * decl2.c (build_offset_ref_call_from_tree): Fix calling a functor + or pointer to (non-member) function. + +2011-04-13 Jakub Jelinek <jakub@redhat.com> + + PR c++/48570 + * semantics.c (cxx_eval_array_reference): Handle reading from + wchar_t, char16_t and char32_t STRING_CST. + +2011-04-13 Dodji Seketeli <dodji@redhat.com> + + PR c++/48574 + * class.c (fixed_type_or_null): We cannot determine the dynamic + type of a reference variable if its initializer is dependent. + +2011-04-11 Jason Merrill <jason@redhat.com> + + PR c++/48534 + * cvt.c (ocp_convert): Use build_nop to convert to underlying type + of scoped enum. + + PR c++/48523 + * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather + than cp_build_indirect_ref. + +2011-04-07 Jason Merrill <jason@redhat.com> + + PR c++/48500 + * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check + arguments even if we don't know the function. + + PR c++/48468 + * except.c (build_noexcept_spec): Propagate error_mark_node. + (finish_noexcept_expr): Likewise. + + PR c++/48452 + * typeck.c (build_x_compound_expr_from_list): Return error_mark_node + in SFINAE context. + + * semantics.c (finish_decltype_type): Add complain parm. + * cp-tree.h: Adjust. + * parser.c (cp_parser_decltype): Adjust. + * pt.c (tsubst): Adjust. + + PR c++/48450 + * cvt.c (ocp_convert): Handle converting scoped enum to bool. + +2011-03-31 Jason Merrill <jason@redhat.com> + + PR c++/48280 + * method.c (defaultable_fn_check): Templates are not defaultable. + +2011-03-30 Jason Merrill <jason@redhat.com> + + PR c++/48212 + * semantics.c (non_const_var_error): Just return if DECL_INITIAL + is error_mark_node. + + PR c++/48369 + * semantics.c (potential_constant_expression_1): Handle + UNORDERED_EXPR and ORDERED_EXPR. + + PR c++/48281 + * semantics.c (finish_compound_literal): Do put static/constant + arrays in static variables. + +2011-03-29 Jason Merrill <jason@redhat.com> + + PR c++/48265 + * pt.c (value_dependent_expression_p) [VAR_DECL]: Make sure + the variable is constant before looking at its initializer. + + PR c++/48319 + * pt.c (value_dependent_expression_p): Handle TEMPLATE_ID_EXPR. + +2011-03-29 Jason Merrill <jason@redhat.com> + + PR c++/48166 + * decl.c (revert_static_member_fn): Strip function-cv-quals. + + PR c++/48296 + * decl.c (cp_finish_decl): Defer validation of constexpr member + functions. + * class.c (finalize_literal_type_property): Validate them here. + * semantics.c (is_valid_constexpr_fn): Don't check completeness. + + * semantics.c (is_valid_constexpr_fn): Specify input location. + + Core 1232 + * call.c (build_array_conv): New. + (implicit_conversion): Use it. + + * call.c (reference_binding): Allow direct binding to an array + rvalue. + + PR c++/48289 + * pt.c (build_non_dependent_expr): Keep dereferences outside the + NON_DEPENDENT_EXPR. + + PR c++/47999 + * semantics.c (finish_call_expr): Preserve reference semantics + in templates. + + PR c++/48313 + * pt.c (maybe_adjust_types_for_deduction): Handle T&& deduction + from overloaded function. + + Core 1148 + * typeck.c (check_return_expr): Fix conditions for setting + LOOKUP_PREFER_RVALUE. + +2011-03-29 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> + + * decl2.c (cp_check_const_attributes): New. + (cplus_decl_attributes): Call cp_check_const_attributes. + +2011-03-29 Jason Merrill <jason@redhat.com> + + * semantics.c (push_cx_call_context): Return bool. + (cxx_eval_call_expression): Handle excess depth. + + * except.c (build_noexcept_spec): Call cxx_constant_value after + converting to bool. + + PR c++/47504 + * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let + the conversion set TREE_OVERFLOW. + + PR c++/47570 + * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't + use the generic binary expression handling. + +2011-03-25 Release Manager + + * GCC 4.6.0 released. + +2011-03-16 Jason Merrill <jason@redhat.com> + + PR c++/48132 + * decl.c (check_array_designated_initializer): Allow integer index. + (reshape_init_array_1): Set index on the elements. + +2011-03-16 Jason Merrill <jason@redhat.com> + + PR c++/48113 + * typeck.c (convert_for_initialization): Use + perform_implicit_conversion_flags. + * call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set + rvaluedness_matches_p on ck_rvalue. + (convert_like_real) [ck_rvalue]: And restore it here. + +2011-03-16 Jason Merrill <jason@redhat.com> + + PR c++/48115 + * call.c (convert_arg_to_ellipsis): Handle incomplete type. + +2011-03-11 Dodji Seketeli <dodji@redhat.com> + + * call.c (add_builtin_candidate)<case INDIRECT_REF>: The type of + the argument of the indirection operator should not be dependent. + Fix the comment. + +2011-03-11 Jason Merrill <jason@redhat.com> + + PR c++/47125 + * pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error. + + PR c++/47144 + * parser.c (cp_parser_template_type_arg): Set + type_definition_forbidden_message. + + PR c++/47808 + * decl.c (compute_array_index_type): Discard folding + if it didn't produce a constant. + +2011-03-11 Jakub Jelinek <jakub@redhat.com> + + PR c++/48035 + * init.c (build_zero_init_1): Extracted from build_zero_init. + Add FIELD_SIZE argument, if non-NULL and field bit_position + as not smaller than that, don't add that field's initializer. + Pass DECL_SIZE as last argument to build_zero_init_1 + for DECL_FIELD_IS_BASE fields. + (build_zero_init): Use build_zero_init_1. + +2011-03-10 Jason Merrill <jason@redhat.com> + + PR c++/48029 + * pt.c (iterative_hash_template_arg): Remove special case for + ARRAY_TYPE. + + PR c++/47198 + * parser.c (cp_parser_single_declaration): Just return if + cp_parser_parse_and_diagnose_invalid_type_name complained. + +2011-03-09 Jason Merrill <jason@redhat.com> + + PR c++/44629 + * pt.c (unify): An unresolved overload is a nondeduced context. + +2011-03-09 Martin Jambor <mjambor@suse.cz> + + PR tree-optimization/47714 + * method.c (use_thunk): Clear addressable flag of thunk arguments. + +2011-03-08 Dodji Seketeli <dodji@redhat.com> + + PR c++/47705 + * pt.c (convert_nontype_argument): Only call decay_conversion on + arrays. + +2011-03-08 Jason Merrill <jason@redhat.com> + + PR c++/47488 + * mangle.c (write_template_arg_literal) [STRING_CST]: Sorry. + + PR c++/47705 + * pt.c (convert_nontype_argument): Don't crash on non-pointer + argument to pointer parameter. + + PR c++/45651 + * pt.c (instantiate_decl): Don't clear DECL_INTERFACE_KNOWN on + !TREE_PUBLIC decls. + +2011-03-08 Dodji Seketeli <dodji@redhat.com> + + PR c++/47957 + * name-lookup.c (binding_to_template_parms_of_scope_p): Only + consider scopes of primary template definitions. Adjust comments. + +2011-03-07 Jason Merrill <jason@redhat.com> + + PR c++/48003 + * pt.c (convert_nontype_argument): Fix -fpermissive allowing + integer overflow. + * semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW. + + PR c++/48015 + * init.c (constant_value_1): Always require init to be TREE_CONSTANT. + + PR c++/48008 + * mangle.c (write_type): Strip cv-quals from FUNCTION_TYPE here. + (write_CV_qualifiers_for_type): Not here. + +2011-03-06 Joseph Myers <joseph@codesourcery.com> + + * lang-specs.h: Match -save-temps* instead of -save-temps. + +2011-03-05 Jason Merrill <jason@redhat.com> + + * mangle.c (write_expression): Change ABI v6 to v5. + (write_type): Likewise. + +2011-03-04 Jan Hubicka <jh@suse.cz> + + PR lto/47497 + * optimize.c (maybe_clone_body): Update call of cgraph_same_body_alias + and cgraph_add_thunk. + * method.c (make_alias_for_thunk, use_thunk): Likewise. + * mangle.c (mangle_decl): Likewise. + +2011-03-04 Jason Merrill <jason@redhat.com> + + PR c++/47971 + * pt.c (tsubst_copy_and_build) [PSEUDO_DTOR_EXPR]: Use tsubst for type. + (tsubst_copy) [default]: Just return t if !ENABLE_CHECKING. + + PR c++/46220 + * search.c (check_final_overrider): Allow pointer to same incomplete + class type with different cv-quals. + +2011-03-03 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/47974 + * pt.c (tsubst_template_args): Check argument t for error_mark_node. + +2011-03-03 Jason Merrill <jason@redhat.com> + + PR c++/47950 + * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Retain TREE_CONSTANT. + +2011-03-02 Jason Merrill <jason@redhat.com> + + PR c++/47950 + * parser.c (cp_parser_condition): Don't fold_non_dependent_expr here. + + PR c++/47774 + * tree.c (build_vec_init_elt): Split out from... + (build_vec_init_expr): ...here. + (diagnose_non_constexpr_vec_init): New fn. + * semantics.c (potential_constant_expression_1): Use it. + * cp-tree.h: Declare it. + +2011-03-01 Jason Merrill <jason@redhat.com> + + PR c++/46159 + * parser.c (cp_parser_primary_expression): Don't warn about a + failed tentative parse. + + PR c++/47200 + * semantics.c (cxx_bind_parameters_in_call): Don't call + adjust_temp_type on non-constant args. + + PR c++/47851 + * call.c (standard_conversion): Provide requested cv-quals on + class rvalue conversion. + + PR c++/46282 + * decl2.c (grokbitfield): Handle type-dependent width. + +2011-02-28 Jason Merrill <jason@redhat.com> + + PR c++/47873 + * class.c (update_vtable_entry_for_fn): Check BINFO_LOST_PRIMARY_P + after checking for a non-thunk. + +2011-02-26 Jason Merrill <jason@redhat.com> + + PR c++/47904 + * tree.c (cp_tree_equal): Compare DECL_PARM_LEVEL. + * pt.c (iterative_hash_template_arg): And hash it. + + PR c++/47897 + * semantics.c (non_const_var_error): Split out from... + (cxx_eval_constant_expression): ...here. + (potential_constant_expression_1) [VAR_DECL]: Use it. + Allow dependent variables. + +2011-02-24 Jason Merrill <jason@redhat.com> + + * parser.c (cp_parser_constant_expression): Set + non_integral_constant_expression correctly for C++0x too. + (cp_parser_static_assert): Allow non-constant expression. + (cp_parser_direct_declarator): Expect non_constant_p to be set + properly for C++0x. + * pt.c (value_dependent_expression_p): Handle TYPEID_EXPR. + * semantics.c (maybe_constant_value): Check type_unknown_p too. + (potential_rvalue_constant_expression): New. + (require_potential_rvalue_constant_expression): New. + +2011-02-23 Jason Merrill <jason@redhat.com> + + * cp-tree.h (DECL_PARM_LEVEL): New. + (struct lang_decl_parm): Add level field. + * name-lookup.c (function_parm_depth): New fn. + * name-lookup.h: Declare it. + * parser.c (cp_parser_parameter_declaration_list): Use it. + * mangle.c (struct globals): Add parm_depth field. + (write_bare_function_type): Adjust it. + (write_expression): Include the level delta in PARM_DECL mangling + for abi >= 6. + + * semantics.c (finish_decltype_type): Remove shortcut for decltype + of id-expression. + * mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6. + +2011-02-23 Nathan Froyd <froydnj@codesourcery.com> + + PR c++/46868 + * parser.c (cp_parser_class_specifier): Require a closing brace + to attempt error recovery. + +2011-02-23 Jakub Jelinek <jakub@redhat.com> + + PR c++/47833 + * pt.c (struct pending_template): Add chain_next GTY option. + * decl.c (struct named_label_use_entry): Likewise. + +2011-02-22 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/47242 + * semantics.c (build_lambda_object): Bail out if a field is + error_mark_node. + +2011-02-22 Dodji Seketeli <dodji@redhat.com> + + PR c++/47666 + * class.c (dfs_declare_virt_assop_and_dtor) + (declare_virt_assop_and_dtor): New static functions. + (add_implicitly_declared_members): Use + declare_virt_assop_and_dtor. + +2011-02-21 Jason Merrill <jason@redhat.com> + + PR c++/47207 + * decl2.c (decl_constant_var_p): A constexpr var needs an + initializer to be constant. + * semantics.c (cxx_eval_constant_expression): Complain about + constexpr var used in its own initializer. + * call.c (set_up_extended_ref_temp): Set + DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too. + +2011-02-20 Jason Merrill <jason@redhat.com> + + PR c++/47199 + * semantics.c (cxx_eval_call_expression): Call + cxx_eval_constant_expression in trivial shortcut. + + PR c++/46831 + * call.c (convert_class_to_reference): Don't try to set up a + second conv sequence for non-viable candidates. + + PR c++/47703 + * error.c (location_of): Handle non-tagged types. + + PR c++/46472 + * method.c (process_subob_fn): Instantiate constexpr templates. + * optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P. + +2011-02-20 Dodji Seketeli <dodji@redhat.com> + + PR c++/46394 + * pt.c (tsubst_pack_expansion): do not use + cp_tree_equal/same_type_p to detect an expansion of a parameter + pack. + +2011-02-19 Jason Merrill <jason@redhat.com> + + PR c++/47503 + * semantics.c (cxx_eval_call_expression): Shortcut trivial copy. + +2011-02-18 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/47795 + * semantics.c (finish_non_static_data_member): Early return if + object is error_mark_node. + +2011-02-18 Dodji Seketeli <dodji@redhat.com> + + PR c++/47208 + * pt.c (do_auto_deduction): Do not mention error_mark_node in + diagnostics. + * semantics.c (finish_id_expression): Do not pass erroneous decl + to decl_constant_var_p. + +2011-02-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/47783 + * cvt.c (convert_from_reference): Call mark_exp_read. + +2011-02-11 Dodji Seketeli <dodji@redhat.com> + + PR c++/47172 + * pt.c (finish_call_expr): Consider a call expression that has a + dependent "this" pointer as being dependent. Add comments. + (dependent_type_p, type_dependent_expression_p): Update comments. + +2011-02-16 Dodji Seketeli <dodji@redhat.com> + + PR c++/47326 + * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack + expansion arguments are not evaluated. + +2011-02-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/47704 + * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5 + instead of TYPE_LANG_FLAG_3. + * pt.c (lookup_template_class): Copy over + ENUM_FIXED_UNDERLYING_TYPE_P. + +2011-02-15 Jason Merrill <jason@redhat.com> + + PR c++/46807 + * method.c (synthesized_method_walk): Always exit early for + trivial fn in C++98 mode. + +2011-02-14 Jason Merrill <jason@redhat.com> + + PR c++/47482 + * parser.c (cp_parser_enumerator_definition): Call + fold_non_dependent_expr. + +2011-02-09 Jason Merrill <jason@redhat.com> + + * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel. + * semantics.c (finish_fname): Only return the name if we're in + a function. + + * decl.c (build_enumerator): Don't perform integral promotions on + non-integral constants. + + * cvt.c (convert_to_void): Handle null op1. + + * class.c (type_has_constexpr_default_constructor): Make sure the + caller stripped an enclosing array. + * init.c (perform_member_init): Strip arrays before calling it. + + PR c++/47511 + * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL. + +2011-02-03 Dodji Seketeli <dodji@redhat.com> + + PR c++/47398 + * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of + template parameters in account. + +2011-02-03 Nathan Froyd <froydnj@codesourcery.com> + + PR c++/46890 + * parser.c (cp_parser_class_specifier): Fix setting of + want_semicolon. + +2011-01-31 Jakub Jelinek <jakub@redhat.com> + + PR c++/47416 + * semantics.c (build_data_member_initialization): Handle + STATEMENT_LIST always instead of just for CLEANUP_BODY. + +2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use + LD_STATIC_OPTION, LD_DYNAMIC_OPTION. + +2011-01-29 Dodji Seketeli <dodji@redhat.com> + + PR c++/47311 + * cp-tree.h (fixup_template_parms): Declare. + * pt.c (end_template_parm_list): Do not fixup template parms here. + (fixup_template_parms): Remove static. Fix typo in the + comments. Remove useless code statement. + (fixup_template_parm): For a template template parameter, fixup + its attributes before fixing up its type. + * parser.c + (cp_parser_template_declaration_after_export): After parsing + template parameters fixup their types. + +2011-01-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/47476 + * semantics.c (potential_constant_expression_1): Handle + TRUTH_XOR_EXPR. + +2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com> + + PR c++/43601 + * semantics.c (expand_or_defer_fn_1): Handle it. + * decl2.c (decl_needed_p): Likewise. + +2011-01-21 Jason Merrill <jason@redhat.com> + + PR c++/47041 + * semantics.c (build_constexpr_constructor_member_initializers): + Handle trivial copy. + +2011-01-21 Jakub Jelinek <jakub@redhat.com> + + PR c++/47388 + * semantics.c (begin_for_stmt): If -fno-for-scope, don't + assume init must be NULL if scope is NULL. + (begin_range_for_stmt): Likewise. + +2011-01-21 Jason Merrill <jason@redhat.com> + + PR c++/46552 + * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF. + + PR c++/46977 + * semantics.c (potential_constant_expression_1): Split out from + potential_constant_expression. Add want_rval parm. Handle + template expression forms. Don't enforce restriction on address + of automatic variable here. Add a couple of diagnostics that + had been missing. + (require_potential_constant_expression): New entry point. + (build_data_member_initialization, register_constexpr_fundef): Adjust. + (maybe_constant_value): Check potential_constant_expression. + * pt.c (fold_non_dependent_expr_sfinae): Likewise. + * tree.c (build_vec_init_expr): Adjust. + +2011-01-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/47303 + * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC + or DECL_EXTERNAL. + +2011-01-17 Jason Merrill <jason@redhat.com> + + PR c++/47067 + * semantics.c (base_field_constructor_elt): New fn. + (cxx_eval_bare_aggregate): Use it. + (build_data_member_initialization): Leave COMPONENT_REF for + vfield inits. + +2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> + + * parser.c (cp_parser_range_for): Remove the "unused variable" warning + workaround. + +2011-01-15 Giovanni Funchal <gafunchal@gmail.com> + Jonathan Wakely <jwakely.gcc@gmail.com> + + PR c++/33558 + * decl.c (grokdeclarator): Reject mutable reference members. + +2011-01-14 Jason Merrill <jason@redhat.com> + + PR c++/47289 + * pt.c (coerce_template_parms): Fix error recovery. + + PR c++/46903 + * typeck2.c (check_narrowing): Only check arithmetic types. + + PR c++/46688 + * tree.c (build_vec_init_expr): Handle flexible array + properly. + +2011-01-13 Kai Tietz <kai.tietz@onevision.com> + + PR c++/47213 + * cp-tree.h (CLASSTYPE_VISIBILITY): Use + TYPE_MAIN_DECL instead of TYPE_NAME. + (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise. + * decl2.c (determine_visibility): Add check + of CLASS_TYPE_P for underlying_type. + +2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> + + * cp-tree.h (begin_for_scope): New prototype. + (begin_for_stmt): Update prototype. + (begin_range_for_stmt): Update prototype. + * init.c (build_vec_init): Update call to begin_for_stmt. + * parser.c (cp_parser_for): New. + (cp_parser_c_for): Add three new parameters. + (cp_parser_range_for): Likewise. Most parsing code removed. + (cp_parser_iteration_statement): Call cp_parser_for instead of + cp_parser_c_for and cp_parser_range_for. + (cp_parser_for_init_statement): Add new parameter and return type. + (cp_parser_block_declaration): Update call to + cp_parser_simple_declaration. + (cp_parser_simple_declaration): Add new parameter. + Update call to cp_parser_init_declarator. + (cp_parser_init_declarator): Add new parameter. + * pt.c (tsubst_expr): Update call to begin_for_stmt. + * semantics.c (begin_for_scope): New. + (begin_for_stmt): Add two new parameters. + (begin_range_for_stmt): Likewise. + +2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * parser.c (cp_parser_objc_at_property_declaration): Improved + error message. + +2011-01-11 Dodji Seketeli <dodji@redhat.com> + + PR debug/46955 + * cp-lang.c (get_template_innermost_arguments_folded) + (get_template_argument_pack_elems_folded) + (template_arg_needs_folding, fold_cplus_constants): New static + functions. + (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to + get_template_innermost_arguments_folded. + (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to + get_template_argument_pack_elems_folded. + +2011-01-11 Jason Merrill <jason@redhat.com> + + PR c++/46658 + * init.c (build_new_1): Handle value-init in templates differently. + + PR c++/45520 + * tree.c (maybe_dummy_object): Check current_class_ref against + context, not current_class_type. + +2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com> + + PR objc/47078 + * parser.c (cp_parser_objc_typename): If the type is unknown, for + error recovery purposes behave as if it was not specified so that + the default type is used. + +2011-01-07 Jakub Jelinek <jakub@redhat.com> + + PR c++/47022 + * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy + for the second build_x_va_arg argument. + +2011-01-05 Tom Tromey <tromey@redhat.com> + + * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error. + (lvalue_or_else): Likewise. + +2011-01-01 Kai Tietz <kai.tietz@onevision.com> + + PR target/38662 + * tree.c (cxx_type_hash_eq): + Allow METHOD_TYPE, too. + + +Copyright (C) 2011 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |