CWG 616, 1213 - value category of subobject references.
commit3f5730c25645fe40e93d74329f02e087eaa93746
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 May 2018 17:21:22 +0000 (23 17:21 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 May 2018 17:21:22 +0000 (23 17:21 +0000)
tree5376594ef4febecacfb8c0a3a1831fbdda417c0c
parent3d7ffd528ee564d51a62b3723afd9f97f2a2b7ed
CWG 616, 1213 - value category of subobject references.

* tree.c (lvalue_kind): A reference to a subobject of a prvalue is
an xvalue.
* typeck2.c (build_m_component_ref): Likewise.
* typeck.c (cp_build_addr_expr_1, lvalue_or_else): Remove diagnostic
distinction between temporary and xvalue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260621 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/testsuite/g++.dg/cpp0x/addressof2.C
gcc/testsuite/g++.dg/cpp0x/decltype49.C
gcc/testsuite/g++.dg/cpp0x/rv-lvalue-req.C
gcc/testsuite/g++.dg/ext/c99struct1.C
gcc/testsuite/g++.dg/ext/complit11.C
gcc/testsuite/g++.old-deja/g++.law/temps1.C