1 // { dg-do assemble } 2 3 class foo { 4 public: 5 ~foo(); 6 foo &operator=(const foo &); 7 foo e() const; 8 }; 9 class bar { 10 public: 11 foo d() const; 12 }; 13 struct x { 14 foo a; 15 bar* b; 16 }; baz(x * f,int ic)17 void baz(x *f, int ic) 18 { 19 f->a = ic ? f->b->d().e() : f->b->d(); 20 } 21