Merge from mainline
[official-gcc.git] / libgomp / testsuite / libgomp.c / appendix-a / a.15.1.c
blob276ac6caad9b40351454727f86a277508a6a59ff
1 /* { dg-do run } */
3 #include <stdio.h>
5 void
6 work (int n)
8 printf ("[%d of %d], nested = %d, n = %d\n", omp_get_thread_num (), omp_get_num_threads(), omp_get_nested (), n);
11 void
12 sub3 (int n)
14 work (n);
15 #pragma omp barrier
16 work (n);
19 void
20 sub2 (int k)
22 #pragma omp parallel shared(k)
23 sub3 (k);
26 void
27 sub1 (int n)
29 int i;
30 #pragma omp parallel private(i) shared(n)
32 #pragma omp for
33 for (i = 0; i < n; i++)
34 sub2 (i);
37 int
38 main ()
40 sub1 (2);
41 sub2 (15);
42 sub3 (20);
43 return 0;