39 lines · plain
1! Check that constructs with associate and variables that have implicitly2! determined DSAs are lowered properly.3! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s4 5!CHECK-LABEL: func @_QPtest_parallel_assoc6!CHECK: omp.parallel {7!CHECK-NOT: hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEa"}8!CHECK-NOT: hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEb"}9!CHECK: omp.wsloop private({{.*}}) {10!CHECK: }11!CHECK: }12!CHECK: omp.parallel {{.*}} {13!CHECK-NOT: hlfir.declare {{.*}} {uniq_name = "_QFtest_parallel_assocEb"}14!CHECK: omp.wsloop private({{.*}}) {15!CHECK: }16!CHECK: }17subroutine test_parallel_assoc()18 integer, parameter :: l = 319 integer :: a(l)20 integer :: i21 a = 122 23 !$omp parallel do24 do i = 1,l25 associate (b=>a)26 b(i) = b(i) * 227 end associate28 enddo29 !$omp end parallel do30 31 !$omp parallel do default(private)32 do i = 1,l33 associate (b=>a)34 b(i) = b(i) * 235 end associate36 enddo37 !$omp end parallel do38end subroutine39