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)13 const 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