+2014-06-28 Jonathan Wakely <jwakely@redhat.com>
+
+ DR 1579
+ PR c++/58051
+ * typeck.c (check_return_expr): Lookup as an rvalue even when the
+ types aren't the same.
+
2014-06-27 Jason Merrill <jason@redhat.com>
PR c++/61433
if (VOID_TYPE_P (functype))
return error_mark_node;
- /* Under C++0x [12.8/16 class.copy], a returned lvalue is sometimes
+ /* Under C++11 [12.8/32 class.copy], a returned lvalue is sometimes
treated as an rvalue for the purposes of overload resolution to
favor move constructors over copy constructors.
|| TREE_CODE (retval) == PARM_DECL)
&& DECL_CONTEXT (retval) == current_function_decl
&& !TREE_STATIC (retval)
- && same_type_p ((TYPE_MAIN_VARIANT (TREE_TYPE (retval))),
- (TYPE_MAIN_VARIANT (functype)))
/* This is only interesting for class type. */
&& CLASS_TYPE_P (functype))
flags = flags | LOOKUP_PREFER_RVALUE;
+2014-06-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * g++.dg/cpp0x/elision_conv.C: New.
+
2014-06-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gfortran.dg/nint_2.f90: Don't XFAIL for powerpc64le-*-linux*.