|
| View previous topic :: View next topic |
| Author |
Message |
tburns67
Joined: 21 Jul 2004 Posts: 2
|
Posted: Wed Jul 21, 2004 10:20 am Post subject: PGF90-S-0155-Could not resolve generic procedure |
|
|
What is causing the following error?
Using pgf90 the code below yields the *undocumented* error, listed in the subject line.
Here is the compiler output:
$ mpif90 -fastsse -Mnosave -tp piv -byteswapio -r8 -I ./ -c t.F90
PGF90-S-0155-Could not resolve generic procedure mpi_bcast (t.F90: 5)
0 inform, 0 warnings, 1 severes, 0 fatal for t
Here is the code:
| Code: | subroutine t
use mpi
integer ierror
character(1),dimension(1000):: buf
call mpi_bcast(buf,100,mpi_character,0,mpi_comm_world,ierror)
end
|
Thanks,
-Tom |
|
| Back to top |
|
 |
mwolfe
Joined: 13 Jul 2004 Posts: 20
|
Posted: Wed Jul 21, 2004 10:37 am Post subject: Could not resolve generic procedure |
|
|
Without seeing the file that contains 'module mpi', I can only make an educated guess here.
Fortran generic procedures are much stricter with respect to type checking than, say, C with type casting. There is nothing corresponding to a C 'void' type in Fortran, and no type casting. My guess is that mpi_bcast is defined in 'module mpi' as a generic, with a specific procedure for each datatype, integer, real, doubleprecision, complex, character; it might not be defined for each datatype and each array dimensionality.
You are passing a character array to mpi_bcast; this won't match the TKR (type-kind-rank) matching rules for resolving generic-to-specific procedures in Fortran, if the specific procedure is defined with a character scalar dummy first argument. You might try passing the first element of the array:
call mpi_bcast(buf(1),100,mpi_character,0,mpi_comm_world,ierror)
-mw |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2002 phpBB Group
|