Newsgroups: comp.parallel.pvm
From: jborgers@hardy.nat.vu.nl (Jeroen Borgers)
Subject: PVM and Fortran 90
Summary: With Fortran 90 one can get type-checking errors with fpvm-lib.
Keywords: pvm fortran90
Organization: VU Natuurkunde en Sterrenkunde
Date: Fri, 17 Mar 1995 15:40:24 GMT

Fortran 90 seems to work well with Pvm 3, except for some type-checking.
I use xlf 3.1 with Pvm 3.3.5 on RS/6000's. I use several nice features of 
Fortran 90: whole array operations, dynamical memory allocation and modules.

The compiler/linker does type-checking on procedures and its arguments, 
also among the file and used modules defined in other files. 
I get type-checking errors when I use fpvm3-library subroutines and 
unfortunately these are not very clear (I would like line-numbers and 
the conflicting types).
But it concerns the `pvmfpack' and `pvmfunpack' subroutines.

Did anyone get the same problem?

The `pack' routines have a first argument `what' defining the type of
the second argument `xp' (STRING, INTEGER2, etc.)
This is of course not type-safe and the compiler/linker has reasons to 
complain.  
In my opinion these routines should be separated like in cpvm-lib.
So I developed different library routine entries `pvmfpackString(xp,..)'
etc. (in .m4 files) and it works. 
This also saves the time-overhead for the case-switch on the type.

I think a new pvmf-library should contain separate routines like mine 
for (un)pack -ing variables of different type. Does anyone agree?



Jeroen Borgers
Computer Science in 
Theoretical Physics
Vrije Universiteit
Amsterdam.
e-mail: jborgers@nat.vu.nl 

-- 

Jeroen Borgers
Computer Science in 
Theoretical Physics

