1 // { dg-do assemble } 2 3 class C2 { 4 public: 5 ~C2(); 6 C2 a() const; 7 }; 8 class C3 { 9 public: 10 C3(const C2 &c); 11 }; 12 class C4 13 { 14 public: 15 C3 *foo(bool b, const C2 &c); 16 C2 d() const; 17 }; foo(bool b,const C2 & c)18C3 *C4::foo(bool b, const C2 &c) 19 { 20 return new C3(b ? d().a() : c); 21 } 22