xref: /llvm-project/openmp/runtime/test/tasking/omp_task_priority3.c (revision d67c91b5e728d94376873c04ffac3ba6d29b95b8)
1 // RUN: %libomp-compile && env OMP_MAX_TASK_PRIORITY=42 %libomp-run
2 
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <omp.h>
6 
7 int a = 0;
8 
main(void)9 int main(void) {
10   int i;
11   int max_task_priority = omp_get_max_task_priority();
12   if (max_task_priority != 42) {
13     fprintf(stderr,
14             "error: omp_get_max_task_priority() returned %d instead of 42\n",
15             max_task_priority);
16     exit(EXIT_FAILURE);
17   }
18 
19   for (i = 0; i < 250; ++i) {
20     #pragma omp parallel
21     {
22       #pragma omp task priority(42)
23       {
24         #pragma omp atomic
25         a++;
26       }
27     }
28   }
29 
30   printf("a = %d\n", a);
31 
32   return EXIT_SUCCESS;
33 }
34