<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Granted, an error, not a clarification.  Does any implementation do this now (define Type_status in mpif.h/mpi module)? If not, it is easier to consider this an error.<div class=""><br class=""></div><div class="">Bill</div><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">William Gropp<br class="">Director and Chief Scientist, NCSA<br class="">Thomas M. Siebel Chair in Computer Science<br class="">University of Illinois Urbana-Champaign</div><br class="Apple-interchange-newline"></div></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On Jul 10, 2020, at 8:39 AM, Jeff Squyres (jsquyres) <<a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Gah.  Closer reading shows that MPI-3.1 page 658 actually has mpif.h/mpi module bindings for MPI_Status_f2f08 and _f082f that include TYPE(MPI_Status) dummy parameters.<br class=""><br class="">So the standard text actually strongly infers that TYPE(MPI_Status) is supposed to be defined in mpif.h and the mpi module.<br class=""><br class="">Granted, a user *could* do something like this, but I can't believe that this is what we intended users to do:<br class=""><br class="">-----<br class="">! This is super ugly IMNSHO<br class="">use :: mpi_f08, only : MPI_Status<br class="">implicit none<br class="">include 'mpif.h'<br class="">-----<br class=""><br class="">Do we really want to change the spec to state that the _f2f08 and _f082f subroutines are only available in the mpi_f08 module?<br class=""><br class="">I think that that would be a *change*, not a *clarification*.<br class=""><br class="">That being said, we might be able to squint at this and call it an "error" in MPI-3.1.  <br class=""><br class="">But *that* being said, it's *not* actually a technical error.  It's just that we seemed to have missed the implication back then that TYPE(MPI_Status) would need to be defined in mpif.h and the mpi module.  That's not a technical *problem* -- it's just a little weird.<br class=""><br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">On Jul 10, 2020, at 8:49 AM, William Gropp <<a href="mailto:wgropp@illinois.edu" class="">wgropp@illinois.edu</a>> wrote:<br class=""><br class="">That certainly was not my understanding - I expected that these would be defined only for F08, allowing code in F08 to move status data to/from the integer status array for the prior Fortran bindings. I am in favor of clarifying the standard to make this clear.<br class=""><br class="">Bill<br class=""><br class="">William Gropp<br class="">Director and Chief Scientist, NCSA<br class="">Thomas M. Siebel Chair in Computer Science<br class="">University of Illinois Urbana-Champaign<br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">On Jul 9, 2020, at 7:54 PM, Jeff Squyres (jsquyres) via mpiwg-fortran <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org" class="">mpiwg-fortran@lists.mpi-forum.org</a>> wrote:<br class=""><br class="">MPI-3.1 Figure 17.1 (in section 17.2.5, starting on page 656) defines the following routines:<br class=""><br class="">1. MPI_Status_c2f() (from MPI-2)<br class="">2. MPI_Status_f2c() (from MPI-2)<br class="">3. MPI_Status_c2f08() (new in MPI-3)<br class="">4. MPI_Status_f082c() (new in MPI-3)<br class="">5. MPI_Status_f2f08() (new in MPI-3)<br class="">6. MPI_Status_f082f() (new in MPI-3)<br class=""><br class="">All of the functions are fairly straightforward to implement in C.<br class=""><br class="">But per the bottom part of Figure 17.1, two of the routines are supposed to be implemented in Fortran: #5 and #6.<br class=""><br class="">Does this mean that TYPE(MPI_Status) needs to be defined in mpif.h and the mpi module?<br class=""><br class="">I'm not sure how an MPI application would be able to invoke functions #5 and #6 without a definition of TYPE(MPI_Status) -- or even have a variable of that type that they need to convert to INTEGER(MPI_STATUS_SIZE).<br class=""><br class="">-- <br class="">Jeff Squyres<br class=""><a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a><br class=""><br class="">_______________________________________________<br class="">mpiwg-fortran mailing list<br class="">mpiwg-fortran@lists.mpi-forum.org<br class="">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran<br class=""></blockquote><br class=""></blockquote><br class=""><br class="">-- <br class="">Jeff Squyres<br class=""><a href="mailto:jsquyres@cisco.com" class="">jsquyres@cisco.com</a><br class=""><br class=""></div></div></blockquote></div><br class=""></div></body></html>