blob: 4fb67c094b59460f3970c5026c209af83bc2bcb7 [file] [edit]
! RUN: %flang_fc1 -emit-hlfir -o - %s | FileCheck %s
subroutine do_concurrent_allocatable
integer :: i
real, allocatable, dimension(:,:) :: x
do concurrent (i = 1:10) reduce(+: x)
end do
end subroutine
! CHECK: fir.declare_reduction @[[RED_OP:.*]] : ![[RED_TYPE:.*]] attributes {byref_element_type = !fir.array<?x?xf32>} alloc {
! CHECK: %[[ALLOC:.*]] = fir.alloca
! CHECK: fir.yield(%[[ALLOC]] : ![[RED_TYPE]])
! CHECK: } init {
! CHECK: ^bb0(%{{.*}}: ![[RED_TYPE]], %[[RED_ARG:.*]]: ![[RED_TYPE]]):
! CHECK: fir.yield(%[[RED_ARG]] : !{{.*}})
! CHECK: } combiner {
! CHECK: ^bb0(%[[COMB_RES:.*]]: ![[RED_TYPE]], %{{.*}}: ![[RED_TYPE]]):
! CHECK: fir.yield(%[[COMB_RES]] : !{{.*}})
! CHECK: } cleanup {
! CHECK: fir.yield
! CHECK: }