From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Fri Nov 18 09:02:27 2011
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 4190835692D; Fri, 18 Nov 2011 09:02:27 +0100 (CET)
Delivered-To: sc22wg5@open-std.org
Received: from ns.nag-j.co.jp (218-42-159-107.cust.bit-drive.ne.jp [218.42.159.107])
	by www.open-std.org (Postfix) with ESMTP id 1C9E935691D
	for <sc22wg5@open-std.org>; Fri, 18 Nov 2011 09:02:25 +0100 (CET)
Received: from 218-42-159-108.cust.bit-drive.ne.jp ([218.42.159.108] helo=Maru6)
	by ns.nag-j.co.jp with smtp (Exim 4.50)
	id 1RRJOm-0007Xv-AZ
	for sc22wg5@open-std.org; Fri, 18 Nov 2011 17:02:13 +0900
Message-ID: <16D0954E750E4ED09CE9E2F0DDC90E34@Maru6>
From: "Malcolm Cohen" <malcolm@nag-j.co.jp>
To: "sc22wg5" <sc22wg5@open-std.org>
References: <1319512507.24176.553.camel@math.jpl.nasa.gov><20111026183501.40C213568E1@www.open-std.org><4EA9CB87.1000505@cray.com> <20111027232707.8BEF13568FB@www.open-std.org>
In-Reply-To: <20111027232707.8BEF13568FB@www.open-std.org>
Subject: Re: [ukfortran] (SC22WG5.4577) (j3.2006) Comments on N1885
Date: Fri, 18 Nov 2011 17:02:18 +0900
Organization: =?UTF-8?B?5pel5pysTkFH?=
MIME-Version: 1.0
Content-Type: text/plain;
	format=flowed;
	charset="UTF-8";
	reply-type=original
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 15.4.3538.513
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3538.513
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

I am slowly catching up with my email backlog...

> On 10/26/11 1:34 PM, Van Snyder wrote:
> >
> > I have a few (possibly misguided) comments on N1885.

> > 5.4.2p1: It seems to be OK for a processor to decide that
> >    pure real function xyz ( x )
> >      integer, intent(in) :: x
> >      xyz = x + 1.0
> >    end function xyz
> > is an asynchronous communication initiation or completion procedure.

I don't think so - it doesn't do any communication.

A Fortran procedure cannot do anything async without using async i/o (already 
covered) or some of the coarray features (also already covered), so in fact you 
cannot write a procedure in Fortran that is an async communicator.

>I thought it should have
>said nothing, or that the program determines whether a procedure is an
>asynchronous communication initiation or completion procedure

The program does not determine this.  For example,aio_read and aio_write are 
asynchronous communication procedures in Posix.1-2001 (so in Linux and FreeBSD, 
other operating systems have other routines); it is not up to the program to 
decide this, these are part of "the processor" so it is processor-dependent.

>I don't know how to say that the processor might have a list of
>procedures that it knows to be asynchronous communication

The point is that the processor has a set of procedures that *ARE* asynchronous 
communicators.  It is not a case of knowing, it is a case of being.  The 
processor is not just the compiler, or the compiler + the linker, etc. , it is 
the whole shooting-match.

>so why say anything at all?

I don't see how this differs from the other processor-dependent features like 
what units are preconnected etc.  Arguably if we don't say anything the feature 
does not even exist because there would not be any such procedures, unless one 
takes the view that whether a procedure is an asynchronous communicator is 
completely obvious (this discussion should put that conjecture to rest at 
least).  In any case it would be a disservice to have a processor-dependent 
feature without admitting that it is processor dependent.

Cheers,
-- 
................................Malcolm Cohen, Nihon NAG, Tokyo. 

