From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Fri Oct 28 21:59:18 2016
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 DBB8735733C; Fri, 28 Oct 2016 21:59:18 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
X-Greylist: delayed 1197 seconds by postgrey-1.34 at www5.open-std.org; Fri, 28 Oct 2016 21:59:18 CEST
Received: from ppsw-40.csi.cam.ac.uk (ppsw-40.csi.cam.ac.uk [131.111.8.140])
	by www.open-std.org (Postfix) with ESMTP id B25B4356982
	for <sc22wg5@open-std.org>; Fri, 28 Oct 2016 21:59:15 +0200 (CEST)
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Received: from hermes-1.csi.cam.ac.uk ([131.111.8.51]:35548)
	by ppsw-40.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.158]:25)
	with esmtpa (EXTERNAL:nmm1) id 1c0Czn-000TEs-kP (Exim 4.86_36-e07b163)
	(return-path <nmm1@hermes.cam.ac.uk>); Fri, 28 Oct 2016 20:39:19 +0100
Received: from prayer by hermes-1.csi.cam.ac.uk (hermes.cam.ac.uk)
	with local (PRAYER:nmm1) id 1c0Czn-0007MX-Bl (Exim 4.72)
	(return-path <nmm1@hermes.cam.ac.uk>); Fri, 28 Oct 2016 20:39:19 +0100
Received: from [87.115.149.238] by old-webmail.hermes.cam.ac.uk
	with HTTP (Prayer-1.3.5); 28 Oct 2016 20:39:19 +0100
Date: 28 Oct 2016 20:39:19 +0100
From: "N.M. Maclaren" <nmm1@cam.ac.uk>
To: John Reid <John.Reid@stfc.ac.uk>
Cc: WG5 <sc22wg5@open-std.org>
Subject: Re: [ukfortran] (SC22WG5.5793) Straw ballot on four small technical
 changes
Message-ID: <Prayer.1.3.5.1610282039190.28040@hermes-1.csi.cam.ac.uk>
In-Reply-To: <20161028134238.1EADD3582C8@www.open-std.org>
References: <20161028134238.1EADD3582C8@www.open-std.org>
X-Mailer: Prayer v1.3.5
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset=ISO-8859-1
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

I shall be very happy to change my NO votes if someone points out
that I have made mistakes.

Regards,
Nick.


Yes  No   Paper       Subject
---  -N- 06-277r1 Allow C_SIZEOF for an assumed-rank array
-C-  --- 06-280r2 Allow cross-image access to violate aliasing rules
                  for coarray dummies
---  -N- 06-285r2 Clarify ordering of finalisation w.r.t. deallocation
                  in assignment(*)
-Y-  --- 06-289   Additional prohibitions on pure procedures(*)


06-280r2

Point 1:
I had to read this several times to be quite sure of what it was saying.
I suggest adding an extra question and answer:

'''
Question 1C: Was it intended that the program example_1 is conforming
if statement (X) is replaced by "a[2] = il"??

Answer 1C: Yes, it is intended that this example is conforming. It
compiles with no errors and executes:

> ftn test.f90
> srun -n2 ./a.out
 1
'''

Point 2:
Is the word 'typically' in NOTE 15.40+1 helpful?  I am not sure what
it implies, in context.


06-285r2

I think that we have two meanings of deallocate in the standard.  But,
whether we do or not, the last sentence of [84:32 7.5.6.3p2] is
baffling; I really don't see how it makes sense for finalization to
precede deallocation and yet a failure in the latter to make it
processor dependent whether the former occurs!  I have read that
sentence as applying to pointers, yet the second sentence starts "When
an allocatable entity is deallocated".  Unless there is a critical
reason to keep that sentence, I suggest just deleting it:

    [84:32 7.5.6.3p2] delete the last sentence "If an error condition
    occurs during deallocation, it is processor dependent whether
    finalization occurs."


06-277r1

C_SIZEOF is not permitted for an assumed-size array [486:24 18.2.3.7p3],
but we permit assumed-size arrays to be actual arguments corresponding
to assumed-rank dummies.  This inconsistency needs resolving.  One
change would be:

    [486:24] 18.2.3.7p3 delete "that is not an assumed-size array".

    [486:31] 18.2.3.7p6 append "if the argument is an assumed-size
    array or is an assumed-rank object that corresponds to an
    assumed-size actual argument, the value returned is -1."

