brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 85f934f Raw
38 lines · plain
1!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s2 3 4!CHECK-LABEL: omp.private5!CHECK-SAME:      {type = firstprivate} @[[PRIVATIZER:.*]] : !fir.box<!fir.heap<!fir.array<?xi32>>> init {6!CHECK:         fir.if7!CHECK:       } copy {8!CHECK:         fir.if9!CHECK:       } dealloc {10!CHECK:         fir.if11!CHECK:       }12 13!CHECK-LABEL: func @_QPomp_task_nested_allocatable_firstprivate14subroutine omp_task_nested_allocatable_firstprivate15  integer, allocatable :: a(:)16 17  allocate(a(7))18  a = 1019 20!CHECK:       %[[A:.*]]:2 = hlfir.declare %{{.*}} {fortran_attrs = #fir.var_attrs<allocatable>,21!CHECK-SAME:    uniq_name = "_QFomp_task_nested_allocatable_firstprivateEa"} :22!CHECK-SAME:    (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) ->23!CHECK-SAME:    (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>, !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>)24!CHECK:       omp.task {25  !$omp task default(firstprivate)26!CHECK:         omp.task private(@[[PRIVATIZER]] %[[A]]#0 -> %[[A_ARG:.*]] : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) {27!CHECK:           %[[PRIV_A:.*]]:2 = hlfir.declare %{{.*}} {fortran_attrs = #fir.var_attrs<allocatable>,28!CHECK-SAME:        uniq_name = "_QFomp_task_nested_allocatable_firstprivateEa"} :29!CHECK-SAME:        (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) ->30!CHECK-SAME:        (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>, !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>)31    !$omp task default(firstprivate)32      a = 233!CHECK:         }34    !$omp end task35!CHECK:       }36  !$omp end task37end subroutine38