Skip gnat.dg/prot7.adb on hppa.
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / task-in-explicit-1.c
bloba228d93a7766d92f9a441805ebee62e22dcfbbf1
1 /* { dg-do run } */
3 #include <omp.h>
4 #include <stdlib.h>
6 int
7 main ()
9 if (omp_in_explicit_task ())
10 abort ();
11 #pragma omp task
12 if (!omp_in_explicit_task ())
13 abort ();
14 #pragma omp task final (1)
16 if (!omp_in_explicit_task ())
17 abort ();
18 #pragma omp task
19 if (!omp_in_explicit_task ())
20 abort ();
22 #pragma omp parallel
24 if (omp_in_explicit_task ())
25 abort ();
26 #pragma omp task if (0)
28 if (!omp_in_explicit_task ())
29 abort ();
30 #pragma omp task if (0)
31 if (!omp_in_explicit_task ())
32 abort ();
34 #pragma omp task final (1)
35 if (!omp_in_explicit_task ())
36 abort ();
37 #pragma omp barrier
38 if (omp_in_explicit_task ())
39 abort ();
40 #pragma omp taskloop num_tasks (24)
41 for (int i = 0; i < 32; ++i)
42 if (!omp_in_explicit_task ())
43 abort ();
44 #pragma omp masked
45 #pragma omp task
46 if (!omp_in_explicit_task ())
47 abort ();
48 #pragma omp barrier
49 if (omp_in_explicit_task ())
50 abort ();
52 #pragma omp target
54 if (omp_in_explicit_task ())
55 abort ();
56 #pragma omp task if (0)
57 if (!omp_in_explicit_task ())
58 abort ();
59 #pragma omp task
60 if (!omp_in_explicit_task ())
61 abort ();
63 #pragma omp target teams
65 #pragma omp distribute
66 for (int i = 0; i < 4; ++i)
67 if (omp_in_explicit_task ())
68 abort ();
69 else
71 #pragma omp parallel
73 if (omp_in_explicit_task ())
74 abort ();
75 #pragma omp task
76 if (!omp_in_explicit_task ())
77 abort ();
78 #pragma omp barrier
79 if (omp_in_explicit_task ())
80 abort ();
84 #pragma omp teams
86 #pragma omp distribute
87 for (int i = 0; i < 4; ++i)
88 if (omp_in_explicit_task ())
89 abort ();
90 else
92 #pragma omp parallel
94 if (omp_in_explicit_task ())
95 abort ();
96 #pragma omp task
97 if (!omp_in_explicit_task ())
98 abort ();
99 #pragma omp barrier
100 if (omp_in_explicit_task ())
101 abort ();
105 return 0;