/* { dg-do compile } */ /* { dg-options "-O2 -Wstrict-aliasing" } */ #include #include class A; class B { public: void foo(A&); std::string s; }; class A { public: A& qaz() { l.push_back( new A() ); return *l.back(); } std::list l; }; void bar() { A a; B b; b.foo(a.qaz()); }