! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s ! CHECK-LABEL: omp.private ! CHECK-SAME: {type = firstprivate} @[[B_FIRSTPRIVATE:.*firstprivate.*]] : !fir.box> ! CHECK-LABEL: func @_QPtest_nested_task_firstprivate ! CHECK: omp.parallel ! CHECK: omp.task private(@[[B_FIRSTPRIVATE]] %{{.*}} -> %[[OUTER_TASK_B:.*]] : ! CHECK: %[[OUTER_TASK_B_DECL:.*]]:2 = hlfir.declare %[[OUTER_TASK_B]] ! CHECK: omp.task private(@[[B_FIRSTPRIVATE]] %[[OUTER_TASK_B_DECL]]#0 -> %[[INNER_TASK_B:.*]] : ! CHECK: hlfir.declare %[[INNER_TASK_B]] ! CHECK: omp.terminator ! CHECK: omp.terminator ! CHECK: omp.terminator subroutine test_nested_task_firstprivate integer :: b(2) b = 1 !$omp parallel private(b) b = 2 !$omp task !$omp task firstprivate(b) !$omp end task !$omp end task !$omp end parallel end subroutine