Hi guys, I have some code that compiles with gfortran fine. When I try to compile it with pgfortran to get my new acc directives working, I get errors around the following code:
! -- Field datatype type,public :: field private real,allocatable :: p(:,:,:) ! data array including ghosts real :: bound_val=0. ! boundary value integer :: n(3)=1 ! number of points in the array integer :: ndims=3 ! number of spacial dimensions integer :: location=0 ! location of data in FV cell ! 0 => cell center (ie. scalar field) ! 1,2,3 => x,y,z cell face (ie. component of vector field) contains procedure,private :: eqField,eqScalar procedure,public :: init, fsize, point, applyBC, inner, filter, laplacian, filtergpu generic,public :: assignment(=) => eqField,eqScalar end type field private; public :: field_test
The compiler gives me errors for eqscalar and eqfield for the contains statement with the procedures, saying that neithe r has been explicitly declared (even though I’m declaring them in those lines)
Any ideas on this? Are there compiler flags I need to add? I was just using -acc and -Minfo.