! RUN: bbc -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s ! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s 2>&1 | FileCheck %s ! CHECK: omp.declare_reduction @[[RED:.*]] : i32 init { ! CHECK: func.func @_QPreduction_teams() { subroutine reduction_teams() integer :: i i = 0 ! CHECK: omp.teams reduction(@[[RED]] %{{.*}}#0 -> %[[PRIV_I:.*]] : !fir.ref) { !$omp teams reduction(+:i) ! CHECK: %[[DECL_I:.*]]:2 = hlfir.declare %[[PRIV_I]] ! CHECK: %{{.*}} = fir.load %[[DECL_I]]#0 : !fir.ref ! CHECK: hlfir.assign %{{.*}} to %[[DECL_I]]#0 : i32, !fir.ref i = i + 1 !$omp end teams end subroutine reduction_teams