xref: /openbsd-src/gnu/gcc/libgomp/testsuite/libgomp.c++/pr24455.C (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1*404b540aSrobert // { dg-do run }
2*404b540aSrobert // { dg-additional-sources pr24455-1.C }
3*404b540aSrobert // { dg-require-effective-target tls_runtime }
4*404b540aSrobert 
5*404b540aSrobert extern "C" void abort (void);
6*404b540aSrobert 
7*404b540aSrobert extern int i;
8*404b540aSrobert #pragma omp threadprivate(i)
9*404b540aSrobert 
main()10*404b540aSrobert int main()
11*404b540aSrobert {
12*404b540aSrobert   i = 0;
13*404b540aSrobert 
14*404b540aSrobert #pragma omp parallel default(none) num_threads(10) copyin(i)
15*404b540aSrobert     {
16*404b540aSrobert       i++;
17*404b540aSrobert #pragma omp barrier
18*404b540aSrobert       if (i != 1)
19*404b540aSrobert 	abort ();
20*404b540aSrobert     }
21*404b540aSrobert 
22*404b540aSrobert     return 0;
23*404b540aSrobert }
24