From 93c0e0bb1d729b142f698d42fb4a61ad23a52505 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 27 Sep 2010 16:05:34 -0400 Subject: Require lvalues as specified by the standard. * typeck.c (lvalue_or_else): Use real_lvalue_p. (cp_build_addr_expr_1): Split out of cp_build_unary_op. (cp_build_addr_expr, cp_build_addr_expr_strict): Interfaces. (decay_conversion, get_member_function_from_ptrfunc): Adjust. (build_x_unary_op, build_reinterpret_cast_1): Adjust. (build_const_cast_1): Adjust. * cp-tree.h: Declare new fns. * call.c (build_this, convert_like_real, build_over_call): Adjust. (initialize_reference): Adjust. * class.c (build_base_path, convert_to_base_statically): Adjust. (build_vfn_ref, resolve_address_of_overloaded_function): Adjust. * cvt.c (build_up_reference, convert_to_reference): Adjust. * decl.c (register_dtor_fn): Adjust. * decl2.c (build_offset_ref_call_from_tree): Adjust. * except.c (initialize_handler_parm): Adjust. * init.c (build_offset_ref, build_delete, build_vec_delete): Adjust. * rtti.c (build_dynamic_cast_1, tinfo_base_init): Adjust. * tree.c (stabilize_expr): Adjust. From-SVN: r164666 --- gcc/cp/tree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/tree.c') diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index ea01d1f..d52387b 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -3008,7 +3008,7 @@ stabilize_expr (tree exp, tree* initp) } else { - exp = cp_build_unary_op (ADDR_EXPR, exp, 1, tf_warning_or_error); + exp = cp_build_addr_expr (exp, tf_warning_or_error); init_expr = get_target_expr (exp); exp = TARGET_EXPR_SLOT (init_expr); exp = cp_build_indirect_ref (exp, RO_NULL, tf_warning_or_error); -- cgit v1.1