xref: /llvm-project/flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90 (revision d82d53b2e3d7fb2f44f91dc1ca9ce8bb5487da57)
1! Test delayed privatization for derived types with allocatable components.
2! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s | FileCheck %s
3
4subroutine firstprivate_alloc_comp
5  type t1
6    integer, allocatable :: c(:)
7  end type
8  type(t1) :: x
9  !$omp parallel firstprivate(x)
10    print *, allocated(x%c)
11  !$omp end parallel
12end
13
14  call firstprivate_alloc_comp()
15end
16! CHECK-LABEL:   omp.private {type = firstprivate} @_QFfirstprivate_alloc_compEx_firstprivate_ref_rec__QFfirstprivate_alloc_compTt1 : !fir.ref<!fir.type<_QFfirstprivate_alloc_compTt1{c:!fir.box<!fir.heap<!fir.array<?xi32>>>}>> alloc {
17! CHECK:     fir.call @_FortranAInitialize(
18! CHECK:   } copy {
19! ...
20