To: treumann@XXXXXXXXXX cc: mpi-core@XXXXXXXXXXX Subject: Re: MPI_GET_PROCESSOR_NAME & Fortran In-reply-to: Your message of "Mon, 20 Dec 1999 11:10:56 EST." <8525684D.0058CC57.00@XXXXXXXXXXXXXXXXXXXX> Date: Mon, 20 Dec 1999 16:33:12 +0100 From: James Cownie > Both Nils Jonsson and Jim Cownie have suggested that MPI_GET_PROCESSOR_NAME > in Fortran ought to behave like Fortran character assignment by supplying > the right number of trailing blanks. The problem is that Fortran character > assignment is done by the compiler. It "knows" how long a sting is in the > case of a local declaration. It "knows" where to look for the length hidden > parameter when a string is passed to a subroutine. > > As Implementor of an MPI tied to a specific compiler (xlf for AIX), I also > "know" where to find the hidden parameter that gives a string's length and > could do as Nils and Jim suggest. It would be much more difficult for a > portable MPI like MPICH to implement this semantic. I think the semantic > as defined below remains the right choice. However, to be able to work at all, a portable implementation like MPICH already has to know at least enough to be able to _ignore_ any additional character length related arguments, or (if the "by descriptor" for character variables implementation is used) it must know enough to be able to find the character data itself. Actually extracting the value for the length is only a small step beyond what is already required. Indeed if you look at the code in MPICH it is _already_ doing a Fortran character assignment for "MPI_GET_PROCESSOR_NAME", to pick one example... -- Jim James Cownie Etnus, Inc. +44 117 9071438 http://www.etnus.com