URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [cray_pointers_8.f90] - Rev 302
Compare with Previous | Blame | View Log
! { dg-do run }! { dg-options "-fcray-pointer" }!! Test the fix for PR36528 in which the Cray pointer was not passed! correctly to 'euler' so that an undefined reference to fcn was! generated by the linker.!! Reported by Tobias Burnus <burnus@gcc.gnu.org>! from http://groups.google.com/group/comp.lang.fortran/msg/86b65bad78e6af78!real function p1(x)real, intent(in) :: xp1 = xendreal function euler(xp,xk,dx,f)real, intent(in) :: xp, xk, dxinterfacereal function f(x)real, intent(in) :: xend functionend interfacereal x, yy = 0.0x = xpdo while (x .le. xk)y = y + f(x)*dxx = x + dxend doeuler = yendprogram maininterfacereal function p1 (x)real, intent(in) :: xend functionreal function fcn (x)real, intent(in) :: xend functionreal function euler (xp,xk,dx,f)real, intent(in) :: xp, xk ,dxinterfacereal function f(x)real, intent(in) :: xend functionend interfaceend functionend interfacereal x, xp, xk, dx, y, zpointer (pfcn, fcn)pfcn = loc(p1)xp = 0.0xk = 1.0dx = 0.0005y = 0.0x = xpdo while (x .le. xk)y = y + fcn(x)*dxx = x + dxend doz = euler(0.0,1.0,0.0005,fcn)if (abs (y - z) .gt. 1e-6) call abortend
