1 ! REQUIRES: plugins, examples, shell
3 ! RUN: %flang_fc1 -load %llvmshlibdir/flangOmpReport.so -plugin flang-omp-report -fopenmp -fopenmp-version=50 %s -o - | FileCheck %s
5 ! Check for IN_REDUCTION() clause on OpenMP constructs
7 subroutine omp_in_reduction_taskgroup()
9 !$omp taskgroup task_reduction(+:z)
10 !$omp task in_reduction(+:z)
14 !$omp taskloop in_reduction(+:z)
20 end subroutine omp_in_reduction_taskgroup
22 !CHECK: - file: {{.*}}
24 !CHECK: construct: task
26 !CHECK: - clause: in_reduction
27 !CHECK: details: '+:z'
28 !CHECK: - file: {{.*}}
30 !CHECK: construct: taskloop
32 !CHECK: - clause: in_reduction
33 !CHECK: details: '+:z'
34 !CHECK: - file: {{.*}}
36 !CHECK: construct: taskgroup
38 !CHECK: - clause: task_reduction
39 !CHECK: details: '+:z'
41 subroutine omp_in_reduction_parallel()
43 !$omp parallel reduction(+:z)
44 !$omp taskloop simd in_reduction(+:z)
48 !$omp end taskloop simd
50 end subroutine omp_in_reduction_parallel
52 !CHECK: - file: {{.*}}
54 !CHECK: construct: taskloop simd
56 !CHECK: - clause: in_reduction
57 !CHECK: details: '+:z'
58 !CHECK: - file: {{.*}}
60 !CHECK: construct: parallel
62 !CHECK: - clause: reduction
63 !CHECK: details: '+:z'