From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Sun Dec 20 22:27:37 2015
Return-Path: <owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www.open-std.org
Received: by www.open-std.org (Postfix, from userid 521)
	id 957E73587F6; Sun, 20 Dec 2015 22:27:37 +0100 (CET)
Delivered-To: sc22wg5@open-std.org
X-Greylist: delayed 1986 seconds by postgrey-1.34 at www5.open-std.org; Sun, 20 Dec 2015 22:27:37 CET
Received: from out1.srv1.flexfilter.nl (out1.srv1.flexfilter.nl [62.84.244.48])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by www.open-std.org (Postfix) with ESMTP id 40831356E3E
	for <sc22wg5@open-std.org>; Sun, 20 Dec 2015 22:27:35 +0100 (CET)
Received: from [89.18.180.60] (helo=mail.antivirus.flexwebhosting.nl)
	by srv1a.flexfilter.nl with esmtp (Exim 4.85)
	(envelope-from <erik@forcheck.nl>)
	id 1aAkzk-00026w-DJ
	for sc22wg5@open-std.org; Sun, 20 Dec 2015 21:54:25 +0100
Received: from srv2059.flexwebhosting.nl ([89.18.176.59])
	by mail.antivirus.flexwebhosting.nl with esmtp (Exim 4.85)
	(envelope-from <erik@forcheck.nl>)
	id 1aAl04-0007ly-S5
	for sc22wg5@open-std.org; Sun, 20 Dec 2015 21:54:40 +0100
Received: from 77-173-137-2.ip.telfort.nl ([77.173.137.2] helo=PCForcheck)
	by srv2059.flexwebhosting.nl with esmtp (Exim 4.60)
	(envelope-from <erik@forcheck.nl>)
	id 1aAkzX-0002Ah-Sb
	for sc22wg5@open-std.org; Sun, 20 Dec 2015 21:54:08 +0100
From: "Erik Kruyt" <erik@forcheck.nl>
To: <sc22wg5@open-std.org>
Subject: (SC22WG5.5613) Interpretations straw ballot 11
Date: Sun, 20 Dec 2015 21:53:56 +0100
Message-ID: <000901d13b68$8ac66370$a0532a50$@forcheck.nl>
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_000A_01D13B70.EC8BDCE0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdE7JuOgtTdhHUsMR3WB5PPZRD2cXg==
Content-Language: nl
X-Filter-ID: s0sct1PQhAABKnZB5plbIb1LeybhW2qX5eEgOt6WpkxlIEerTejTSObJOJOrho6UWQ0UJOjFsat2
 lTd/bNK6J5PejjoESUGONmGhgGwzhg1C/lGsrXcsS0xY0J18f6o7xB66CWvXcfKDfXjTU++u61jN
 rWBKLi46ab0Tz47HmgqeRCOOL1rrGp0Gh9qQPinKZuM7jUXIESohoO51xWmU8c8KdjvtIIgWUj0g
 1U5peLrMz4KV0ChqxZklV/XrmXG01cPlhg84p/Bid4fRoVt1SypgzVLraik+Pm0noDl3IsTrjuU3
 A3io6xJmD59iFVkbUztA2t48qMeUBTYHWX5eFAj5E5cjHTqCBSZq5bgXN9Km6W9Yy+DJzPiW518I
 6XCFG5b/+/xmAxi+qQQD8d0YcRw8KfWVgBtIzWSRMiXKnCK3SGMF43kffO93vLz9y7qcu8AlcXVf
 E3O+O6Haz3XE/pxwj7G309dkj99epKWv2wINBF4OKfp6sDCu2bDdRfgiKTZG2GCfGGe3ec4u+I+h
 f7NbArIiZ2IWkjlb+jHKqXhLFsQAgqQHXcmkSF1/3iGttR7bqX9aSgCwLVpXkhwvmkOG9gfiKUbQ
 EABSDbNNX7ocBheoTE5VPHEMcF5EKts1Xmzrhz3fY1kiWRGDIjGJZTEvuGslKTrRIXcXpFg5ivY=
X-Report-Abuse-To: spam@srv3a.flexfilter.nl
X-Filter-Fingerprint: IFrWXGses7OKB5S5G8/dJRn/7L7+nnclbWGk7OJ1jHJA3cTUQ1R++keuE7RDJ8Kg3RbMLUalw1oC
 mj99/u+PoqoVy8a3lsStJtAvpObFX0Wok1JBYnOLzfRIhlEHQynLUpndEJ0YoaLytXXo8BMTaX2p
 Mk7LBarWD9Fj4R3eIu5cOy/3Wm9qfF/CZNvP/2Kowv61T+KDYyYtREgszdyFwv8IxCB3p/oCKvxr
 eyISh3JGb7OS5oVgiO+kDxZrVPLz3MmEGC2PrUKqLq5WmHK+Nw==
X-Originating-IP: 89.18.180.60
X-SpamExperts-Domain: fxwrelaydummydomein.nl
X-SpamExperts-Username: 89.18.180.60
Authentication-Results: flexfilter.nl; auth=pass smtp.auth=89.18.180.60@fxwrelaydummydomein.nl
X-SpamExperts-Outgoing-Class: ham
X-SpamExperts-Outgoing-Evidence: Combined (0.27)
X-Recommended-Action: accept
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

This is a multipart message in MIME format.

------=_NextPart_000_000A_01D13B70.EC8BDCE0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

The following Fortran 2008 interpretations are being balloted:

 

Yes  No   Number     Title                              

 C   --- F08/0128 Is recursive USE within a submodule permitted?

Y   --- F08/0138 Type extension in submodules

Y   --- F08/0139 Is the name of an external procedure that has a

                  binding label a local identifier?

Y   --- F08/0140 Assign to deferred-length coindexed character variable

Y   --- F08/0141 Can a statement function have a variable-length PDT

                result?

Y   --- F08/0142 Is useless module extension permitted?

C   --- F08/0143 May a pure procedure have an INTENT(OUT) polymorphic

                  component?

C   --- F08/0144 Is nonadvancing I/O allowed during execution of DO

                  CONCURRENT?

 

Comments:

 

F08/0128:

 

In the light of F08/0142 the examples are incorrect due to the augmented
C1113.

Change the module in the first example to e.g.:

Module m1

  Interface

    Module Subroutine mp1

    End Subroutine

  End Interface

  Real x

End Module

 

Change the module in the second example to e.g.:

Module m2

  Interface

    Module Subroutine mp2

    End Subroutine

  End Interface

  Real, Private :: a

  Real, Protected :: b

  ...

End Module

 

F08/0139

 

I agree with Bill Long that this needs a clearer example which illustrates
the localness of the procedure name.

 

F08/0143:

 

The example is in error.

Type(t), Intent(Out) x

should read

Type(t), Intent(Out) :: x

 

F08/C0144:

 

The first WRITE statement with ADVANCE= in the example is (already) not
conforming due to C922.

Change the list-directed format specification to an explicit one, e.g.

write ( *, '(I5)', advance='NO' ) I

 

Erik Kruyt

 

 


------=_NextPart_000_000A_01D13B70.EC8BDCE0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 15 =
(filtered medium)"><style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.E-mailStijl18
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DNL =
link=3D"#0563C1" vlink=3D"#954F72"><div class=3DWordSection1><p =
class=3DMsoNormal><span lang=3DEN-US>The following Fortran 2008 =
interpretations are being balloted:<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>Yes&nbsp; No&nbsp;&nbsp; =
Number&nbsp;&nbsp;&nbsp;&nbsp; =
Title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp;C&nbsp;&nbsp; --- F08/0128 Is =
recursive USE within a submodule permitted?<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US> Y&nbsp;&nbsp; --- F08/0138 Type =
extension in submodules<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US> Y&nbsp;&nbsp; --- F08/0139 Is the name of an external =
procedure that has a<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; binding label a local =
identifier?<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US> Y &nbsp;&nbsp;--- F08/0140 Assign to deferred-length =
coindexed character variable<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US> Y&nbsp;&nbsp; --- F08/0141 Can a =
statement function have a variable-length PDT<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;result?<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US> Y &nbsp;&nbsp;--- F08/0142 Is =
useless module extension permitted?<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US> C&nbsp;&nbsp; --- F08/0143 May a =
pure procedure have an INTENT(OUT) polymorphic<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
lang=3DEN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
component?<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US> =
C&nbsp;&nbsp; --- F08/0144 Is nonadvancing I/O allowed during execution =
of DO<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CONCURRENT?<o=
:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Comments:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>F08/0128:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>In the light of F08/0142 the examples are incorrect due to =
the augmented C1113.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Change the module in the first example to =
e.g.:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Module m1<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp; Interface<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp;&nbsp;&nbsp; Module =
Subroutine mp1<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp;&nbsp;&nbsp; End Subroutine<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp; End =
Interface<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp; Real x<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>End Module<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>Change the module in the second =
example to e.g.:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Module m2<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp; Interface<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp;&nbsp;&nbsp; Module =
Subroutine mp2<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp;&nbsp;&nbsp; End Subroutine<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp; End =
Interface<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&nbsp; Real, Private :: a<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>&nbsp; Real, Protected :: =
b<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US>&nbsp; =
...<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US>End =
Module<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>F08/0139<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>I agree with Bill Long that this needs a clearer example =
which illustrates the localness of the procedure =
name.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>F08/0143:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>The example is in error.<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>Type(t), Intent(Out) =
x<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US>should =
read<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Type(t), Intent(Out) :: x<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>F08/C0144:<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>The first WRITE statement with =
ADVANCE=3D in the example is (already) not conforming due to =
C922.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Change the list-directed format specification to an =
explicit one, e.g.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>write ( *, '(I5)', advance=3D'NO' ) =
I<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>Erik Kruyt<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p></div></body></html>
------=_NextPart_000_000A_01D13B70.EC8BDCE0--


