Subject: Characters in Fortran

From: "Marc Snir" <[email-masked]>
Date: Wed, 28 Jul 93 10:21:54 EDT

Reference:  Your note of Wed, 28 Jul 1993 15:02:55 +0100

Quote from IBM XLFortran User Guide:
"When you pass a FORTRAN character data item as parameter, the address of the
beginning of the character is passed along with a parameter that is the length
of the character string.  The parameter is added to the end of the declared
parameter list."

Therefore, your example of sending
character string messages will work in Fortran on a RISC/6000.

Now, for the general case: we can either introduce an additional char*n
datatype in MPI (is this standard F77?) -- this is a problem because of the
variable size.
Or, we can just leave the document as is, and
flash the possible portability issue:  For compilers that do not pass address
of first byte when a string parameter is used, a mechanim need be provided to
find this address.

In order to make a decision, it would be useful to know how many compilers DO
NOT pass the address of the first byte in a char*n argument, on systems that
are potential targets of MPI.

---

From: Ronan KERYELL <[email-masked]>
Date: Thu, 29 Jul 1993 14:12:07 +0200

> >     subroutine foo
> >     call mpi_foobar( 1 )
> >     call mpi_foobar( 1.0 )
> >     call mpi_foobar( '1.0' )
> >     end
> 
>     However MPI has  already accepted that we are going  to accept "Common
>     Practice" here and violate the Fortran standard.

There is another problem : the caracter ``_'' is not allowed in Fortran 77.
Hopefully, you can write :
	call mpi foobar (1)
	
:-)

    Ronan KERYELL
    Centre de Recherche en Informatique
    de l'E'cole Nationale Supe'rieure des Mines de Paris (CRI-ENSMP)
    35, Rue Saint-Honore'
    77305 FONTAINEBLEAU CEDEX
	FRANCE                               Tel:    (+33 1) 64.69.48.44
                                         Fax:    (+33 1) 64.69.47.09
                                         E-mail: [email-masked]

---

From: [email-masked] (Al Geist)
Date: Thu, 29 Jul 93 09:20:11 EDT

>Personally I think it's probably reasonable to ignore the problem and
>assert that it has to work. (I certainly have no problem in
>implementing what we have now on my machines !)

I agree with Jim here. From working with PVM I have feedback and
experience on making "common practice" work on many architectures
and Fortran compilers and so far we have had no problems doing so.

Al Geist

---

From: Ronan KERYELL <[email-masked]>
Date: Thu, 29 Jul 1993 14:12:07 +0200

:-)

    Ronan KERYELL

----- End Included Message -----