! { dg-do compile } ! { dg-additional-options "-fdump-tree-original -fcoarray=lib" } ! ! Check that we don't take twice the address of procedure simple_reduction ! in the generated code. ! ! Contributed by Alessandro Fanfarillo program simple_reduce implicit none integer :: me me = this_image() sync all call co_reduce(me,simple_reduction) write(*,*) this_image(),me contains pure function simple_reduction(a,b) integer,intent(in) :: a,b integer :: simple_reduction simple_reduction = a * b end function simple_reduction end program simple_reduce ! { dg-final { scan-tree-dump "_gfortran_caf_co_reduce \\(&desc\\.\\d+,\\s*simple_reduction," "original" } }