// PR c++/81314 | |
// { dg-do link } | |
template <int N> | |
struct S { | |
S () { s = 0; } | |
S (const S &x) { s = x.s; } | |
~S () {} | |
int s; | |
}; | |
void | |
foo (S<2> &x) | |
{ | |
#pragma omp taskloop | |
for (int i = 0; i < 100; ++i) | |
x.s++; | |
} | |
void | |
bar (S<3> &x) | |
{ | |
#pragma omp task | |
x.s++; | |
} | |
int | |
main () | |
{ | |
S<2> s; | |
S<3> t; | |
#pragma omp parallel | |
#pragma omp master | |
{ | |
foo (s); | |
bar (t); | |
} | |
} |