[MPICH] Fortran Binding

Wei-keng Liao wkliao at ece.northwestern.edu
Fri Aug 17 18:53:18 CDT 2007


I am not sure if this problem has been raised in MPICH, but it has been 
reported in PnetCDF.

Under src/binding/f77, there are many places that use type cast but should 
use a f2c function. For example, in file file_openf.c, when calling 
MPI_File_open(), the first argument v1 of type MPI_Comm should be 
converted by
  MPI_Comm_f2c(*v1)
instead of
  (MPI_Comm)(*v1)

Same for v4 of type MPI_Info that it should be
  MPI_Info_f2c(*v4)
instead of
  (MPI_Info)(*v4)

So, The open call should look like
  MPI_File_open( MPI_Comm_f2c(*v1), p2, *v3, MPI_Info_f2c(*v4), &l5 );

There are many files in this directory needed to be corrected. Whenever it 
involves MPI_Datatype, MPI_Group, MPI_Request, MPI_File, MPI_Win, MPI_Op, 
and MPI_Info, the corresponding f2c functions should be used.

I can see these Fortran binding files are automatically generated. There 
must be a smart way to quickly change this.

Wei-keng





More information about the mpich-discuss mailing list