xref: /llvm-project/flang/test/Lower/OpenMP/associate.f90 (revision 937cbce14c9aa956342a9c818c26a8a557802843)
1366eade9SLeandro Lupori! Check that constructs with associate and variables that have implicitly
2366eade9SLeandro Lupori! determined DSAs are lowered properly.
3366eade9SLeandro Lupori! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s
4366eade9SLeandro Lupori
5366eade9SLeandro Lupori!CHECK-LABEL: func @_QPtest_parallel_assoc
6366eade9SLeandro Lupori!CHECK:         omp.parallel {
7366eade9SLeandro Lupori!CHECK-NOT:       hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEa"}
8366eade9SLeandro Lupori!CHECK-NOT:       hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEb"}
9*937cbce1SKareem Ergawy!CHECK:           omp.wsloop {
10366eade9SLeandro Lupori!CHECK:           }
11366eade9SLeandro Lupori!CHECK:         }
1210df3207SKareem Ergawy!CHECK:         omp.parallel {{.*}} {
13366eade9SLeandro Lupori!CHECK-NOT:       hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEb"}
14*937cbce1SKareem Ergawy!CHECK:           omp.wsloop {
15366eade9SLeandro Lupori!CHECK:           }
16366eade9SLeandro Lupori!CHECK:         }
17366eade9SLeandro Luporisubroutine test_parallel_assoc()
18366eade9SLeandro Lupori  integer, parameter :: l = 3
19366eade9SLeandro Lupori  integer :: a(l)
20366eade9SLeandro Lupori  integer :: i
21366eade9SLeandro Lupori  a = 1
22366eade9SLeandro Lupori
23366eade9SLeandro Lupori  !$omp parallel do
24366eade9SLeandro Lupori  do i = 1,l
25366eade9SLeandro Lupori    associate (b=>a)
26366eade9SLeandro Lupori      b(i) = b(i) * 2
27366eade9SLeandro Lupori    end associate
28366eade9SLeandro Lupori  enddo
29366eade9SLeandro Lupori  !$omp end parallel do
30366eade9SLeandro Lupori
31366eade9SLeandro Lupori  !$omp parallel do default(private)
32366eade9SLeandro Lupori  do i = 1,l
33366eade9SLeandro Lupori    associate (b=>a)
34366eade9SLeandro Lupori      b(i) = b(i) * 2
35366eade9SLeandro Lupori    end associate
36366eade9SLeandro Lupori  enddo
37366eade9SLeandro Lupori  !$omp end parallel do
38366eade9SLeandro Luporiend subroutine
39