LLVM OpenMP 19.0.0git
omp_task_if.c
Go to the documentation of this file.
1// RUN: %libomp-compile-and-run
2#include <stdio.h>
3#include <math.h>
4#include "omp_testsuite.h"
5#include "omp_my_sleep.h"
6
8{
9 int condition_false;
10 int count;
11 int result;
12
13 count=0;
14 condition_false = (count == 1);
15 #pragma omp parallel
16 {
17 #pragma omp single
18 {
19 #pragma omp task if (condition_false) shared(count, result)
20 {
22 #pragma omp critical
23 result = (0 == count);
24 } /* end of omp task */
25 #pragma omp critical
26 count = 1;
27 } /* end of single */
28 } /*end of parallel */
29 return result;
30}
31
32int main()
33{
34 int i;
35 int num_failed=0;
36
37 for(i = 0; i < REPETITIONS; i++) {
38 if(!test_omp_task_if()) {
39 num_failed++;
40 }
41 }
42 return num_failed;
43}
int result[2]
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t count
#define i
Definition: kmp_stub.cpp:87
static void my_sleep(double sleeptime)
Utility function to have a sleep function with better resolution and which only stops one thread.
Definition: omp_my_sleep.h:24
int test_omp_task_if()
Definition: omp_task_if.c:7
int main()
Definition: omp_task_if.c:32
#define SLEEPTIME
Definition: omp_testsuite.h:16
#define REPETITIONS
Definition: omp_testsuite.h:13