// PR target/35364 // { dg-do compile } // { dg-options "-O2 -fopenmp" } template struct E { E (); ~E (); }; template struct C { C (const U &y) : u (y) {} ~C () {} const U &u; }; template > struct B : public C { B (int x, const T &z = T (), const U &y = U ()) : C (y) {} ~B () {} }; void foo () { #pragma omp parallel { B x (1); } #pragma omp for for (int i = 0; i < 10; i++) { B x (i); } #pragma omp sections { #pragma omp section { B x (6); } } #pragma omp single { B x (16); } }