brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 5fc4205 Raw
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