http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50056
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |jason at gcc dot gnu.org Resolution| |INVALID --- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> 2011-08-16 23:43:19 UTC --- clang 2.8 and EDG 4.3 behave the same way as G++, so I don't think this is a bug in GCC; feel free to raise it as a language issue, though. This section could use to be reformulated in terms of class prvalues. S() is a class prvalue, but static_cast<const S&>(S()) is an lvalue.