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