Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/proc_ptr_25.f90 @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! ! PR 41139: [4.5 Regression] a procedure pointer call as actual argument ! ! Original test case by Barron Bichon <barron.bichon@swri.org> ! Modified by Janus Weil <janus@gcc.gnu.org> PROGRAM test PROCEDURE(add), POINTER :: f logical :: g ! Passing the function works g=greater(4.,add(1.,2.)) if (.not. g) STOP 1 ! Passing the procedure pointer fails f => add g=greater(4.,f(1.,2.)) if (.not. g) STOP 2 CONTAINS REAL FUNCTION add(x,y) REAL, INTENT(in) :: x,y print *,"add:",x,y add = x+y END FUNCTION add LOGICAL FUNCTION greater(x,y) REAL, INTENT(in) :: x, y greater = (x > y) END FUNCTION greater END PROGRAM test