1 // { dg-do compile } 2 // { dg-options "-fopenmp" } 3 4 struct A { int i; A (); ~A (); }; 5 struct B { int i; }; 6 struct C { int i; mutable int j; C (); ~C (); }; 7 8 template <typename T> void bar (const T *); 9 10 const A a; 11 const C c; 12 foo(const A d,const C e)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