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