X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fcp%2FChangeLog;h=bcdecdf4cc36d4139f41de0293d291a472e4a059;hp=d520bdaaafcf9a8e542f2d78ce723d5f1fc4f04d;hb=7961105f7642980ba4a85841241949ed7173c61c;hpb=11d79063da416f34d6371a5f957ea6a13732bc05 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d520bdaaafc..bcdecdf4cc3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,679 @@ +2011-11-08 Dodji Seketeli + + Fix context handling of alias-declaration + * decl.c (start_decl): Update comment. + * error.c (dump_alias_template_specialization): Dump the context + of the specialization. + * parser.c (cp_parser_alias_declaration): Call pop_scope on the + pushed scope yielded by start_decl. + +2011-11-08 Paolo Carlini + + PR c++/50864 + * parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid + uses of '->' and '.' as postfix-expression in namespace scope. + +2011-11-07 Jason Merrill + + PR c++/50848 + * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't crash + if lookup finds a non-function. + + PR c++/50863 + * parser.c (cp_parser_initializer_list): Parse C99 + array designators tentatively. + + PR c++/50870 + * pt.c (tsubst_copy): Handle NAMESPACE_DECL. + (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent + object. + +2011-11-07 Paolo Carlini + + * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error + call in case COMPONENT_REF. + +2011-11-07 Jason Merrill + Dodji Seketeli + + Support C++11 alias-declaration + PR c++/45114 + * cp-tree.h (TYPE_DECL_ALIAS_P, TYPE_ALIAS_P) + (DECL_TYPE_TEMPLATE_P, DECL_ALIAS_TEMPLATE_P): New accessor + macros. + (TYPE_TEMPLATE_INFO): Get template info of an alias template + specializations from its TYPE_DECL. + (SET_TYPE_TEMPLATE_INFO): Set template info of alias template + specializations into its TYPE_DECL. + (DECL_CLASS_TEMPLATE_P): Re-write using the new + DECL_TYPE_TEMPLATE_P. + (enum cp_decl_spec): Add new ds_alias enumerator. + (alias_type_or_template_p, alias_template_specialization_p): + Declare new functions. + * parser.c (cp_parser_alias_declaration): New static function. + (cp_parser_check_decl_spec): Add "using" name for the `alias' + declspec. + (cp_parser_type_name): Update comment. Support simple-template-id + representing alias template specializations in c++0x mode. + (cp_parser_qualifying_entity): Update comment. Use + cp_parser_type_name. + (cp_parser_block_declaration): Handle alias-declaration in c++11. + Update comment. + (cp_parser_template_id): Handle specializations of alias + templates. + (cp_parser_member_declaration): Add alias-declaration production + to comment. Support alias-declarations. + (cp_parser_template_declaration_after_export): Handle alias + templates in c++11. + * decl.c (make_typename_type, make_unbound_class_template): Accept + alias templates. + (grokdeclarator): Set TYPE_DECL_ALIAS_P on alias + declarations. + * decl2.c (grokfield): Move template creation after setting up the + TYPE_DECL of the alias, so that the TEMPLATE_DECL of the alias + template actually carries the right type-id of the alias + declaration. + * pt.c (alias_type_or_template_p) + (alias_template_specialization_p): Define new public functions. + (maybe_process_partial_specialization): Reject partial + specializations of alias templates. + (primary_template_instantiation_p): Consider alias template + instantiations. + (push_template_decl_real): Assert that TYPE_DECLs of alias + templates are different from those of class template. Store + template info onto the TYPE_DECL of the alias template. + (convert_template_argument): Strip aliases from template + arguments. + (lookup_template_class_1): Handle the creation of the + specialization of an alias template. + (tsubst_decl): Create a substituted copy of the TYPE_DECL of an + member alias template. + (tsubst): Handle substituting into the type of an alias template. + Handle substituting UNBOUND_CLASS_TEMPLATE into + BOUND_TEMPLATE_TEMPLATE_PARM. + (do_type_instantiation): Better diagnostics when trying to + explicitely instantiate a non-class template. + * search.c (lookup_field_1, lookup_field_r): Support looking up + alias templates. + * semantics.c (finish_template_type): For instantiations of alias + templates, return the TYPE_DECL of the actual alias and not the + one of the aliased type. + * error.c (dump_alias_template_specialization): New static + function. + (dump_type): Handle printing of alias templates and their + specializations. templates. + (dump_aggr_type): For specialization of alias templates, fetch + arguments from the right place. + (dump_decl): Print an alias-declaration like `using decl = type;' + (dump_template_decl): Support printing of alias templates. + +2011-11-07 Jason Merrill + + PR c++/35688 + * decl2.c (constrain_visibility): Return void. Add tmpl parm + which gives the constraint priority over an attribute. + (constrain_visibility_for_template, determine_visibility): Adjust. + * pt.c (instantiate_class_template_1): Call determine_visibility. + + PR c++/33255 + * decl.c (save_function_data): Clear local_typedefs. + + * decl.c (cp_finish_decl): Only make_tree_vector if we're calling + check_initializer. + +2011-11-06 Jason Merrill + + PR c++/35688 + * decl2.c (constrain_visibility): Check decl_has_visibility_attr + rather than DECL_VISIBILITY_SPECIFIED. + +2011-11-06 Paolo Carlini + + PR c++/47695 + * decl2.c (mark_used): Early return false after error or sorry. + * cp-tree.h (mark_used): Adjust declaration. + * semantics.c (finish_id_expression): Check mark_used return value. + +2011-11-05 Jason Merrill + + PR c++/48370 + * decl.c (cp_finish_decl): Mostly revert previous change. + +2011-11-04 Jason Merrill + + PR c++/26714 + * init.c (perform_member_init): Strip TARGET_EXPR around NSDMI. + Do temporary lifetime extension. + + PR c++/48370 + * decl.c (cp_finish_decl): Run cleanups in the right order. + +2011-11-04 Eric Botcazou + + PR c++/50608 + * semantics.c (finish_offsetof): Adjust call to fold_offsetof. + * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1. + +2011-11-04 Paolo Carlini + + * typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED. + * mangle.c (write_unnamed_type_name): Likewise. + +2011-11-04 Magnus Fromreide + + * parser.c (cp_parser_enumerator_list): Do not warn about + trailing commas in C++0x mode. + +2011-11-04 Olivier Goffart + Jason Merrill + + PR c++/50965 + * class.c (check_field_decls): NSDMI makes a class non-aggregate. + +2011-11-04 Paolo Carlini + + PR c++/48420 + * call.c (conversion_null_warnings): For 'false' to NULL pointer, + just check that TREE_TYPE (expr) is a BOOLEAN_TYPE. + +2011-11-04 Ed Smith-Rowland <3dw4rd@verizon.net> + + PR c++/50941 + * parser.c (cp_parser_userdef_string_literal): Fix string length. + +2011-11-04 Jason Merrill + + PR c++/48370 + * call.c (extend_ref_init_temps, extend_ref_init_temps_1): New. + (set_up_extended_ref_temp): Use it. Change cleanup parm to VEC. + (initialize_reference): Just call convert_like. + * decl.c (grok_reference_init): Just call initialize_reference. + (build_init_list_var_init): Remove. + (check_initializer): Change cleanup parm to VEC. Handle references + like other types. Call perform_implicit_conversion instead + of build_init_list_var_init. Don't use build_aggr_init for + aggregate initialization of arrays. + (cp_finish_decl): Change cleanup to VEC. + * typeck2.c (store_init_value): Call extend_ref_init_temps. + Use build_vec_init for non-constant arrays. + * init.c (expand_aggr_init_1): Adjust. + (build_vec_init): Avoid re-converting an initializer + that's already digested. + * mangle.c (mangle_ref_init_variable): Add a discriminator. + * cp-tree.h: Adjust. + * typeck.c (convert_for_initialization): Adjust. + * decl2.c (maybe_emit_vtables): Adjust. + +2011-11-02 Jason Merrill + + PR c++/50930 + * init.c (build_aggr_init): Don't set LOOKUP_ONLYCONVERTING + if the initializer has TARGET_EXPR_DIRECT_INIT_P. + (expand_default_init): An initializer with TARGET_EXPR_DIRECT_INIT_P + or TARGET_EXPR_LIST_INIT_P doesn't need more processing. + * tree.c (bot_manip): Propagate TARGET_EXPR_IMPLICIT_P, + TARGET_EXPR_LIST_INIT_P, TARGET_EXPR_DIRECT_INIT_P. + * call.c (convert_like_real): Set TARGET_EXPR_DIRECT_INIT_P + as appropriate on list-value-initialization. + + * parser.c (cp_parser_decl_specifier_seq): Change "C++0x" to + "C++11" in warnings. + (cp_lexer_get_preprocessor_token): Likewise. + (cp_parser_binary_expression): Likewise. + +2011-11-02 Paolo Carlini + + PR c++/50810 + * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics. + (digest_init_r): Call check_narrowing irrespective of the C++ dialect. + * decl.c (check_initializer): Likewise. + * semantics.c (finish_compound_literal): Likewise. + +2011-11-02 Paolo Carlini + + PR c++/50956 + * typeck.c (build_const_cast_1): Fix -Wcast-qual for false + comp_ptr_ttypes_const. + +2011-11-02 Rainer Orth + + * Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK. + +2011-11-01 Paolo Carlini + + PR c++/44277 + * cvt.c (cp_convert_to_pointer): Warn for zero as null pointer + constant. + * typeck.c (cp_truthvalue_conversion): Handle pointers and member + function pointers under c_inhibit_evaluation_warnings; use + nullptr_node for data member pointers. + (cp_build_binary_op): Tweak, just forward to cp_convert op1, + either a nullptr_node or an integer_zero_node. + (build_ptrmemfunc): Use nullptr_node. + * init.c (build_zero_init_1): Likewise. + +2011-11-01 Jason Merrill + + PR c++/50500 + DR 1082 + * search.c (lookup_fnfields_idx_nolazy): Split out from... + (lookup_fnfields_1): ...here. + (lookup_fnfields_slot_nolazy): Use it. + * cp-tree.h: Declare it. + * class.c (type_has_move_assign): Use it. + (type_has_user_declared_move_assign): Likewise. + +2011-10-31 Jason Merrill + + PR c++/50920 + * class.c (check_field_decl): Change c++0x in diags to c++11. + * error.c (maybe_warn_cpp0x): Likewise. + * parser.c (cp_parser_diagnose_invalid_type_name): Likewise. + * pt.c (check_default_tmpl_args): Likewise. + +2011-10-31 Diego Novillo + + * mangle.c (get_mangled_id): Factor from ... + (mangle_decl): ... here. + Call get_mangled_id. + +2011-10-25 Gerald Pfeifer + + * NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux. + (EGCS 1.0): Ditto. + +2011-10-29 Paolo Carlini + + PR c++/50901 + * call.c (build_new_op_1): Handle ABS_EXPR together with the + other unary EXPR. + +2011-10-28 Paolo Carlini + + Revert: + 2011-10-28 Paolo Carlini + + PR c++/50864 + * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error + call in case COMPONENT_REF. + +2011-10-28 Paolo Carlini + + * pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg. + +2011-10-28 Paolo Carlini + + PR c++/50864 + * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error + call in case COMPONENT_REF. + +2011-10-27 Jason Merrill + + * semantics.c (cxx_eval_outermost_constant_expr): Check + cp_has_mutable_p. + (cxx_eval_component_reference): Check DECL_MUTABLE_P. + +2011-10-27 Roberto Agostino Vitillo + + PR c++/30066 + * decl2.c (determine_hidden_inline): New function. + (determine_visibility): fvisibility-inlines-hidden affects inline + functions. + +2011-10-27 Dodji Seketeli + + * cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment. + +2011-10-26 Jason Merrill + + * typeck.c (check_literal_operator_args): Avoid building types. + +2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net> + + Implement C++11 user-defined literals. + * cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree. + * cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator + name tools. New tree code for user-defined literals. + * cxx-pretty-print.h: (pp_cxx_userdef_literal) New. + * cxx-pretty-print.c: (pp_cxx_userdef_literal) New. + (pp_cxx_primary_expression, pp_cxx_expression): Use it. + * decl.c: (cp_tree_node_structure): Return new tree code. + (duplicate_decls): Check for raw vs. template operator conflicts. + (grokfndecl, grokdeclarator): New checks for literal operators. + * error.c: (dump_expr): Warn about user-defined literals + in C++98 mode. (dump_function_name): Pretty printing. + * mangle.c: (write_literal_operator_name): New. + (write_unqualified_id, write_unqualified_name): Use it. + * parser.c: (cp_parser_operator): Handle operator"". + (cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal, + cp_parser_userdef_string_literal): New. + (cp_parser_primary_expression): Handle new user-defined literal tokens + with new functions. + * semantics.c: (potential_constant_expression_1): Add + user-defined literals. + * typeck.c (check_raw_literal_operator, + check_literal_operator_args): New. + +2011-10-26 Paolo Carlini + + * typeck.c (cp_build_addr_expr_1): Use BASELINK_P. + * class.c (instantiate_type): Likewise. + * pt.c (convert_nontype_argument_function, uses_template_parms, + tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p): + Likewise. + * semantics.c (finish_decltype_type): Likewise. + * decl2.c (mark_used): Likewise. + * name-lookup.c (arg_assoc): Likewise. + +2011-10-26 Paolo Carlini + + PR c++/50870 + * typeck.c (non_reference): Pass NULL_TREE through. + +2011-10-25 Jason Merrill + + PR c++/50866 + PR c++/41449 + * semantics.c (maybe_cleanup_point_expr_void): No longer static. + * typeck2.c (split_nonconstant_init_1): Use it. + * cp-tree.h: Declare it. + * decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR. + + PR c++/49996 + * tree.c (stabilize_init): Stabilize scalar elements of a + CONSTRUCTOR, too. + +2011-10-25 Paolo Carlini + + PR c++/50858 + * typeck.c (composite_pointer_type_r): Check return value of + composite_pointer_type_r for error_mark_node. + +2011-10-25 Paolo Carlini + + PR c++/50861 + * pt.c (tsubst_copy_and_build): Check return value of + tsubst_copy_and_build for error_mark_node. + +2011-10-23 Paolo Carlini + + PR c++/50841 + Revert: + 2011-10-23 Paolo Carlini + + PR c++/50810 + * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics. + (digest_init_r): Call check_narrowing irrespective of the C++ dialect. + * decl.c (check_initializer): Likewise. + * semantics.c (finish_compound_literal): Likewise. + +2011-10-23 Paolo Carlini + + PR c++/50810 + * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics. + (digest_init_r): Call check_narrowing irrespective of the C++ dialect. + * decl.c (check_initializer): Likewise. + * semantics.c (finish_compound_literal): Likewise. + +2011-10-21 Paolo Carlini + + PR c++/45385 + * init.c (build_vec_init): Early return error_mark_node if + maxindex is -1. + +2011-10-21 Paolo Carlini + + PR c++/31423 + * typeck2.c (cxx_incomplete_type_diagnostic): Improve error message + for invalid use of member function. + +2011-10-21 Ville Voutilainen + + PR c++/50811 + * parser.c (cp_parser_class_head): Parse virt-specifiers + regardless of whether an id is present + +2011-10-20 Jason Merrill + + PR c++/41449 + * typeck2.c (split_nonconstant_init_1): Handle EH cleanup of + initialized subobjects. + +2011-10-19 Paolo Carlini + + PR c++/13657 + * class.c (instantiate_type): Fix error message. + +2011-10-19 Jason Merrill + + PR c++/50793 + * tree.c (bot_manip): Propagate AGGR_INIT_ZERO_FIRST. + +2011-10-19 Roland Stigge + + PR translation/49704 + * semantics.c (potential_constant_expression_1): Use "AST" instead of + "ast" in sorry message. + +2011-10-19 Paolo Carlini + + PR c++/38761 + PR c++/40872 + * decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use + G_() in error message strings to facilitate translation. + * semantics.c (finish_id_expression): Likewise. + * parser.c (cp_parser_nested_name_specifier_opt, + cp_parser_parameter_declaration): Likewise. + +2011-10-18 Jason Merrill + + PR c++/50531 + * pt.c (instantiate_decl): Recognize when a function defaulted + outside the class is already instantiated. + + PR c++/50742 + * decl.c (check_previous_goto_1): Handle using-decl. + +2011-10-18 Jason Merrill + + PR c++/50500 + DR 1082 + * class.c (type_has_user_declared_move_constructor): New. + (type_has_user_declared_move_assign): New. + (add_implicitly_declared_members): Add lazy copy ops + even if there's a move. + * method.c (lazily_declare_fn): Delete implicit copies + if there's a move. + (maybe_explain_implicit_delete): Explain this. Use inform rather + than error. + * cp-tree.h: Declare new fns. + +2011-10-18 Diego Novillo + + * parser.c: Remove ENABLE_CHECKING markers around debugging + routines. + (cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN. + Make static + When printing CURR_TOKEN surround it in [[ ]]. + Start printing at START_TOKEN. + Update all users. + (cp_debug_print_tree_if_set): New. + (cp_debug_print_context): New. + (cp_debug_print_context_stack): New. + (cp_debug_print_flag): New. + (cp_debug_print_unparsed_function): New. + (cp_debug_print_unparsed_queues): New. + (cp_debug_parser_tokens): New. + (cp_debug_parser): New. + (cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr. + (cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL. + * parser.h (cp_lexer_dump_tokens): Remove declaration. + (cp_debug_parser): Declare. + +2011-10-17 Michael Spertus + + * cp-tree.def: Add BASES as a new tree code. + * cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES. + (BASES_TYPE, BASES_DIRECT): Define. + (calculate_bases, finish_bases, calculate_direct_bases): Declare. + * parser.c (cp_parser_trait_expr, cp_parser_template_argument_list, + (cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them. + * pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise. + * semantics.c (calculate_bases, finish_bases, calculate_direct_bases, + dfs_calculate_bases_pre, dfs_calculate_bases_post, + calculate_bases_helper): Define. + +2011-10-17 Jason Merrill + + PR c++/50736 + * parser.c (cp_parser_lambda_introducer): Check for more + invalid captures. + +2011-10-17 Paolo Carlini + + PR c++/44524 + * typeck.c (build_class_member_access_expr): Provide a better error + message for X.Y where X is a pointer to class type. + (finish_class_member_access_expr): Likewise. + +2011-10-15 Tom Tromey + Dodji Seketeli + + * error.c (cp_diagnostic_starter): Pass the relevant location to + diagnostic_report_current_module. + (cp_diagnostic_finalizer): Call virt_loc_aware_diagnostic_finalizer. + +2011-10-17 Paolo Carlini + + PR c++/48489 + * typeck.c (finish_class_member_access_expr): Fix error call + for TREE_CODE (access_path) == TREE_BINFO. + +2011-10-15 Paolo Carlini + + PR c++/50732 + * semantics.c (finish_trait_expr): Do not try to instantiate the + the base type of an __is_base_of trait. + (check_trait_type): Return a tree; use complete_type_or_else. + +2011-10-14 Jason Merrill + + PR c++/50563 + * parser.c (cp_parser_cache_group): Handle end==CPP_COMMA. + (cp_parser_save_nsdmi): Pass it. + + PR c++/50707 + * method.c (walk_field_subobs): Check for NSDMI before + complaining about uninitialized fields. + + * pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node + instead of error_mark_node as a placeholder. + +2011-10-14 Paolo Carlini + + PR c++/38174 + * call.c (add_builtin_candidate): If two pointers have a composite + pointer type, generate a single candidate with that type. + +2011-10-13 Jason Merrill + + PR c++/50614 + * cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New. + (DECL_TEMPLATE_INFO): Use it. + * pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO + if the decl has an NSDMI. + * init.c (perform_member_init): Use it. + + PR c++/50437 + * cp-tree.h (struct tree_lambda_expr): Add closure field. + (LAMBDA_EXPR_CLOSURE): New. + * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise. + * semantics.c (build_lambda_object): Use it instead of TREE_TYPE. + (begin_lambda_type, lambda_function, add_capture): Likewise. + (add_default_capture, lambda_expr_this_capture): Likewise. + +2011-10-13 Diego Novillo + + * cp-tree.h (struct language_function): Rename in_function_try_handler + to x_in_function_try_handler. + Rename in_base_initializer to x_in_base_initializer. + Update all users. + +2011-10-13 Diego Novillo + + * class.c (sorted_fields_type_new): Factor out of ... + (finish_struct_1): ... here. + +2011-10-13 Jason Merrill + + PR c++/50618 + * init.c (expand_aggr_init_1): Don't zero-initialize virtual + bases of a base subobject. + +2011-10-12 Paolo Carlini + + PR c++/50594 + * decl.c (cxx_init_decl_processing): Add + __attribute__((externally_visible)) to operator new and + operator delete library fn. + +2011-10-11 Michael Meissner + + * decl.c (duplicate_decls): Delete old interface with two parallel + arrays to hold standard builtin declarations, and replace it with + a function based interface that can support creating builtins on + the fly in the future. Change all uses, and poison the old + names. Make sure 0 is not a legitimate builtin index. + * except.c (build_eh_type_type): Ditto. + (choose_personality_routine): Ditto. + * semantics.c (finish_omp_atomic): Ditto. + (finish_omp_barrier): Ditto. + (finish_omp_flush): Ditto. + (finish_omp_taskwait): Ditto. + +2011-10-11 Jason Merrill + + PR c++/49855 + PR c++/49896 + * cp-tree.def (IMPLICIT_CONV_EXPR): New. + * call.c (perform_implicit_conversion_flags): Build it + instead of NOP_EXPR. + * cp-objcp-common.c (cp_common_init_ts): It's typed. + * cxx-pretty-print.c (pp_cxx_cast_expression): Handle it. + (pp_cxx_expression): Likewise. + * error.c (dump_expr): Likewise. + * semantics.c (potential_constant_expression_1): Likewise. + * tree.c (cp_tree_equal): Likewise. + (cp_walk_subtrees): Likewise. + * pt.c (iterative_hash_template_arg): Likewise. + (for_each_template_parm_r): Likewise. + (type_dependent_expression_p): Likewise. + (tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR + and CONVERT_EXPR. + * cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New. + +2011-10-11 Paolo Carlini + + PR c++/50611 + * pt.c (tsubst_copy_and_build): If (complain & tf_error) is false + do not call unqualified_name_lookup_error. + +2011-10-10 Paolo Carlini + + PR c++/50660 + * call.c (conversion_null_warnings): Don't look through references. + +2011-10-09 Paolo Carlini + + PR c++/38980 + * init.c (constant_value_1): Add bool parameter. + (decl_constant_value_safe): Add. + (integral_constant_value): Adjust. + (decl_constant_value): Adjust. + * cp-tree.h (decl_constant_value_safe): Declare. + * typeck.c (decay_conversion): Use decl_constant_value_safe. + * call.c (convert_like_real): Likewise. + 2011-10-09 Jakub Jelinek Diego Novillo