! { dg-do run } ! ! PR 40646: [F03] array-valued procedure pointer components ! ! Original test case by Charlie Sharpsteen ! Modified by Janus Weil module bugTestMod implicit none procedure(returnMat), pointer :: pp2 contains function returnMat( a, b ) result( mat ) integer:: a, b double precision, dimension(a,b):: mat mat = 1d0 end function returnMat end module bugTestMod program bugTest use bugTestMod implicit none procedure(returnMat), pointer :: pp pp => returnMat if (sum(pp(2,2))/=4) call abort() pp2 => returnMat if (sum(pp2(3,2))/=6) call abort() end program bugTest