OSDN Git Service

Merge from gomp-3_1-branch branch:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / gomp / private-1.C
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
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 private (a)      // { dg-error "predetermined" }
19     bar (&a);
20   #pragma omp parallel private (b)      // { dg-error "predetermined" }
21     bar (&b);
22   #pragma omp parallel private (c)
23     bar (&c);
24   #pragma omp parallel private (d)      // { dg-error "predetermined" }
25     bar (&d);
26   #pragma omp parallel private (e)
27     bar (&e);
28   #pragma omp parallel private (f)      // { dg-error "predetermined" }
29     bar (&f);
30   #pragma omp parallel private (g)
31     bar (&g);
32   return f;
33 }