<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:Menlo-Regular;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:918443746;
        mso-list-type:hybrid;
        mso-list-template-ids:-1444361564 134807563 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:Wingdings"><span style="mso-list:Ignore">Ø<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]>I'm a little curious as to why we conspicuously left it out of mpif.h.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When I remember correctly, <span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">
MPI_Status_f2f08() and _f082f()</span><span lang="EN-US"> </span>subroutines were for a smooth transition from Fortran 77 to Fortran 08.<o:p></o:p></p>
<p class="MsoNormal">I.e. if a programmer  has changed some functions from old Fortran to Fortran 08 and uses other libraries or subroutines which still use the old Fortran status as input or output argument, it was possible to transfer the old Fortran status
 within the Fortran 08 subroutine. But it was never intended that the programmer does this transformation within the old Fortran subroutine (and old Fortran 77 compiler or using Fortran 77 language kind wouldn’t support Type(MPI_Status) in mpif.h).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hubert<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> mpiwg-fortran [mailto:mpiwg-fortran-bounces@lists.mpi-forum.org]
<b>On Behalf Of </b>Jeff Squyres (jsquyres) via mpiwg-fortran<br>
<b>Sent:</b> Wednesday, July 15, 2020 5:26 PM<br>
<b>To:</b> MPI Fortran WG <mpiwg-fortran@lists.mpi-forum.org><br>
<b>Cc:</b> Jeff Squyres (jsquyres) <jsquyres@cisco.com><br>
<b>Subject:</b> Re: [MPIWG Fortran] Question about MPI_Status_f2f08() and _f082f()<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Just to bring this thread back on-track about TYPE(MPI_Status)...
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Off list, I asked Rolf R. about this issue -- he cited the same things I did, plus a few more:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<blockquote style="margin-left:30.0pt;margin-right:0in">
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">On your question on TYPE(MPI_Status), TYPE(MPI_Comm), ...:</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">MPI-3.1</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">- page 607 lines 18-24 require these types and the overloaded </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">  operators .EQ./.NE. for mpi_f08 module</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">- page 609 lines 34-36 require these types and the overloaded </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">  operators .EQ./.NE. for mpi module</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">- there is no such text on page 611-612 on mpif.h</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">And page 802 lines 9-15 also Show that it was never intented to add </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">These types anf routines to old mpif.h.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">It would be helpful, to add at least on page 657 line 11</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">C, some in both C and Fortran (only in the mpi_f08 and mpi modules).</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Can you fix this with an one-vote-bug-fix-issue? </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Because it is not good if the information must be taken from the change-log.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">---</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Summary:</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Does this mean that TYPE(MPI_Status) </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">[ and the Fortran routines MPI_STATUS_F2F08 and _F082F ]</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">needs to be defined in </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">- mpif.h?    NO</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">- and the mpi module?    YES</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Bug-fix needed in MPI-3.1 page 657 line 11: add</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">"(only in the mpi_f08 and mpi modules)" at the end.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">I hope this helps.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Best regards</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Menlo-Regular",serif;color:black">Rolf</span><o:p></o:p></p>
</div>
</blockquote>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So I think there's at least a clarification here: the TYPE(MPI_Status) and associated functions is -- at a minimum -- supposed to be in the mpi module.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I'm a little curious as to why we conspicuously left it out of mpif.h.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Bill: this is somewhat counter to the clarification you proposed.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Are you ok with this?  I think the text in the standard supports what Rolf proposes.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Jul 10, 2020, at 12:11 PM, Jeff Squyres (jsquyres) via mpiwg-fortran <<a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Jul 10, 2020, at 11:18 AM, Bill Long <<a href="mailto:longb@cray.com">longb@cray.com</a>> wrote:<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><br>
In the “change” section there is this txt:<br>
<br>
• Within the mpi_08 Fortran module, the status was defined as TYPE(MPI_Status). Additionally, within both the mpi and the mpi_f08 modules, the constants MPI_STATUS_SIZE, MPI_SOURCE, MPI_TAG, MPI_ERROR, and TYPE(MPI_Status) are defined. New conversion routines
 were added: MPI_STATUS_F2F08, MPI_STATUS_F082F, MPI_Status_c2f08, and MPI_Status_f082c, In mpi.h, the new type MPI_F08_status, and the external variables MPI_F08_STATUS_IGNORE and MPI_F08_STATUSES_IGNORE were added.<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
Good point.<br>
<br>
Just to be clear, you're referring to the changelog section in MPI-3.1, specifically bullet 30 on p802.<br>
<br>
That being said:<br>
<br>
- the changelog is non-binding ...but it does indicate our intent from that time<br>
- the changelog text states that the mpi module has TYPE(MPI_Status) -- but it does not say it was added to mpif.h<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">1) Why would the F08 status be defined different from the C definition?  (If that were the case, conversions between f08 and C would be irrelevant).
<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
I remember that there was a lot of discussion about this at the time, which is what resulted in Figure 17.1.<br>
<br>
I know there were discussions about making the F08 and C statuses the same, but for some reason we chose not to mandate it.  Perhaps we wanted to allow implementations to do whatever they wanted...?  (e.g., allow Status_c2f08 be a no-op if the implementation
 wanted to, but not mandate it)<br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">2) \begin{unpopular} Why are the legacy mpi module and mpif.h still included in the spec?  These are embarrassingly obsolete.  If this was fixed, none of the above mentioned conversion routines would be needed.  \end(unpopular}<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><br>
<br>
I would love it if we could ditch -- at a minimum -- mpif.h.<br>
<br>
However, there's oodles of legacy code out there that uses it.  That's why even deprecating it gets shouted down at Forum meetings.<br>
<br>
-- <br>
Jeff Squyres<br>
<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a><br>
<br>
_______________________________________________<br>
mpiwg-fortran mailing list<br>
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a><br>
<a href="https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran">https://lists.mpi-forum.org/mailman/listinfo/mpiwg-fortran</a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><br>
-- <br>
Jeff Squyres<br>
<a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a> <o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="background:white"><o:p> </o:p></span></p>
<p align="center" style="text-align:center"><span style="background:white">Click <a href="https://www.mailcontrol.com/sr/HjGlLo600jvGX2PQPOmvUuToodiywuSOXttD3rcwKg2CvP2Zmks-Y-w2Bv6lGox3acbEaKe314w5W2BPFL9JFA==">
here</a> to report this email as spam.<o:p></o:p></span></p>
</div>
</body>
</html>