35 lines · plain
1! RUN: %flang_fc1 -fdebug-dump-symbols -fopenmp -fopenmp-version=50 %s | FileCheck %s2 3module m14 interface operator(.fluffy.)5!CHECK: .fluffy., PUBLIC (Function): Generic DefinedOp procs: my_mul6 procedure my_mul7 end interface8 type t19 integer :: val = 110 end type11!$omp declare reduction(.fluffy.:t1:omp_out=omp_out.fluffy.omp_in)12!CHECK: op.fluffy., PUBLIC: UserReductionDetails TYPE(t1)13!CHECK: t1, PUBLIC: DerivedType components: val14!CHECK: OtherConstruct scope: size=8 alignment=4 sourceRange=0 bytes15!CHECK: omp_in size=4 offset=0: ObjectEntity type: TYPE(t1)16!CHECK: omp_out size=4 offset=4: ObjectEntity type: TYPE(t1)17contains18 function my_mul(x, y)19 type (t1), intent (in) :: x, y20 type (t1) :: my_mul21 my_mul%val = x%val * y%val22 end function my_mul23 24 subroutine subr(a, r)25 implicit none26 type(t1), intent(in), dimension(10) :: a27 type(t1), intent(out) :: r28 integer :: i29 !$omp parallel do reduction(.fluffy.:r)30 do i=1,1031 r = r .fluffy. a(i)32 end do33 end subroutine subr34end module m135