From 96e780c0873477bb2b9ab34306e4694dad6626aa Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Thu, 9 Oct 2014 14:05:17 -0400 Subject: re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't compile in return statement) PR c++/63437 * cp-tree.h (REF_PARENTHESIZED_P): Also allow INDIRECT_REF. * semantics.c (force_paren_expr): And set it. * typeck.c (check_return_expr): And handle it. From-SVN: r216042 --- gcc/cp/semantics.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/cp/semantics.c') diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index b11ec09..ba09e72 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1637,6 +1637,8 @@ force_paren_expr (tree expr) bool rval = !!(kind & clk_rvalueref); type = cp_build_reference_type (type, rval); expr = build_static_cast (type, expr, tf_error); + if (expr != error_mark_node) + REF_PARENTHESIZED_P (expr) = true; } } -- cgit v1.1