! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s ! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s ! There's no definition of '+' for type(t) ! CHECK: The type of 'mt' is incompatible with the reduction operator. subroutine reduction_allocatable type t integer :: x end type integer :: i = 1 type(t) :: mt mt%x = 0 !$omp parallel num_threads(4) !$omp do reduction(+:mt) do i = 1, 10 mt%x = mt%x + i enddo !$omp end do !$omp end parallel end subroutine