<div dir="ltr"><div>Hello,</div><div><br></div><div>    p30 of MPI3 says "In Fortran with USE mpi or INCLUDE ’mpif.h’, status is an array of INTEGERs of size <span class="">MPI_STATUS_SIZE. ..., </span>With Fortran USE mpi_f08, status is defined as the Fortran BIND(C) derived type TYPE(MPI_Status) containing three public fields named <span class="">MPI_SOURCE</span>, MPI_TAG<span class="">, and </span>MPI_ERROR"</div>
<div>  </div><div>In other words, it does't say type of the three public fields must be INTEGER. So, in mpi_f08, can I declare MPI_Status as</div><div><br></div><div>    TYPE, BIND(C) :: MPI_Status</div><div>        INTEGER(C_INT) :: MPI_SOURCE, MPI_TAG, MPI_ERROR</div>
<div>        ... ! other fields</div><div>    END TYPE MPI_Status</div><div><br></div><div> I find it makes MPI_Status binding easier.  Since this type is interoperable with C, I do not need to allocate temp variables to do type conversion when INTEGER is not a C_INT.</div>
<div><div dir="ltr"><br></div><div dir="ltr">--Junchao Zhang</div></div>
</div>