! Testcase adopted from the Fujitsu test suite: ! https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0407/0407_0006.f90 !RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=60 %s -o - | FileCheck %s ! Make sure that the variable in the atomic construct is privatized at ! the task level !CHECK: omp.task private(@_QFfredEprv_firstprivate_i32 %{{[0-9]+}}#0 -> %arg0 !CHECK: %[[DECL:[0-9]+]]:2 = hlfir.declare %arg0 {uniq_name = "_QFfredEprv"} !CHECK: omp.atomic.update memory_order(relaxed) %[[DECL]]#0 integer function fred integer :: prv prv = 1 !$omp parallel shared(prv) !$omp task default(firstprivate) !$omp atomic prv = prv + 1 !$omp end task !$omp end parallel fred = prv end