https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114388
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- This changed with r9-595-g955da5e5443724: 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. From-SVN: r260621 CWG 616 and CWG 1213 are DR, so apply to C++98. I don't think GCC cares about N3055 here.