OSDN Git Service

PR c++/48523
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
index ca7a790..7a087c5 100644 (file)
@@ -1,5 +1,73 @@
+2011-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/48523
+       * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
+       than cp_build_indirect_ref.
+
+       PR c++/48457, Core 1238
+       * call.c (reference_binding): Allow rvalue reference to bind to
+       function lvalue.
+       * tree.c (lvalue_kind): Functions are always lvalues.
+
 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++/48481
+       * tree.c (build_overload): Allow an unwrapped FUNCTION_DECL
+       at the end of the chain.
+       * pt.c (dependent_template_p): Use OVL_CURRENT/NEXT.
+       (iterative_hash_template_arg): Likewise.
+
+       PR c++/48481
+       * cp-tree.h (OVL_ARG_DEPENDENT): New.
+       * name-lookup.c (add_function): Set it.
+       * semantics.c (finish_call_expr): Free OVERLOADs if it's set.
+
+       PR c++/48481
+       * call.c (build_user_type_conversion_1): Use lookup_fnfields_slot.
+       Release unused vector.
+
+       PR c++/48451
+       * pt.c (fn_type_unification): Don't clear incomplete pack flag.
+       (type_unification_real): Clear it here instead.
+
+       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.
+
+       PR c++/48450
+       * call.c (resolve_args): Take complain.
+       (build_new_function_call, build_operator_new_call): Pass it.
+       (build_op_call, build_new_op, build_new_method_call): Pass it.
+
+       PR c++/48450
+       * typeck.c (check_for_casting_away_constness): Take complain.
+       (build_static_cast_1, build_reinterpret_cast_1): Pass it.
+       (build_const_cast_1): Pass it.  Take full complain parm.
+       (build_const_cast, cp_build_c_cast): Adjust.
+
+       * tree.c (build_aggr_init_expr): Always return error_mark_node
+       on abstract violation.
+
+       PR c++/48450
+       * tree.c (build_cplus_new, build_aggr_init_expr): Take complain.
+       (bot_manip): Adjust.
+       * cp-tree.h: Adjust.
+       * call.c (convert_like_real, build_cxx_call): Adjust.
+       (perform_direct_initialization_if_possible): Adjust.
+       * cvt.c (ocp_convert): Adjust.
+       * init.c (build_value_init): Adjust.
+       * semantics.c (maybe_add_lambda_conv_op): Adjust.
+       * typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust.
+       * typeck2.c (build_functional_cast): Adjust.
+
        * init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top
        level.
        (perform_member_init): Not here.