// I, Howard Hinnant, hereby place this code in the public domain. // Test: Unamed rvalue references are treated as lvalues. // { dg-do compile } // { dg-options "-std=c++0x" } template struct sa; template <> struct sa {}; struct one {char x[1];}; struct two {char x[2];}; struct A {}; one foo(const A&) {return one();} two foo(A&&) {return two();} A&& source() {static A a; return a;} int test1() { sa t1; return 0; } int main() { return test1(); }