1 // PR tree-optimization/47355 2 // { dg-do compile } 3 // { dg-options "-O -fipa-cp -fipa-cp-clone" } 4 5 struct T 6 { 7 T (); 8 void *p; 9 ~T (); 10 }; 11 12 void foo (T *i); 13 14 T *bar (); 15 void baz (T *); 16 17 struct V 18 { 19 long q; 20 T *r; ~VV21 ~V () 22 { 23 while (q) 24 { 25 foo (r); 26 ++r; 27 --q; 28 } 29 baz (r); 30 } 31 }; 32 33 void foo()34foo () 35 { 36 V v; 37 T t; 38 v.r = bar (); 39 } 40