1 // { dg-do compile } 2 // { dg-options -O2 } 3 4 template<class T> struct O { OO5 O(T *p) : q(p) { } 6 T *q; 7 }; 8 struct W { 9 virtual ~W(); 10 }; 11 struct S : public W { 12 S (int *); 13 }; 14 W *bar(int); S(int * x)15S::S (int *x) 16 { 17 for (int *p = x; *p; p++) 18 O<W> i (bar (*p)); 19 } 20