1// { dg-do compile } 2// { dg-options "-fopenmp" } 3 4struct A { int i; A (); ~A (); }; 5struct B { int i; }; 6struct C { int i; mutable int j; C (); ~C (); }; 7 8template <typename T> void bar (const T *); 9 10const A a; 11const C c; 12 13const A foo (const A d, const C e) 14{ 15 const A f; 16 const B b = { 4 }; 17 A g; 18 #pragma omp parallel default (none) 19 bar (&a); 20 #pragma omp parallel default (none) 21 bar (&b); 22 #pragma omp parallel default (none) // { dg-error "enclosing parallel" } 23 bar (&c); // { dg-error "not specified" } 24 #pragma omp parallel default (none) 25 bar (&d); 26 #pragma omp parallel default (none) // { dg-error "enclosing parallel" } 27 bar (&e); // { dg-error "not specified" } 28 #pragma omp parallel default (none) 29 bar (&f); 30 #pragma omp parallel default (none) // { dg-error "enclosing parallel" } 31 bar (&g); // { dg-error "not specified" } 32 return f; 33} 34