From owner-sc22wg5@open-std.org  Mon Dec  6 18:20:04 2010
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 45B80C3BA1C; Mon,  6 Dec 2010 18:20:04 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from smtp.cims.nyu.edu (SMTP.CIMS.NYU.EDU [128.122.49.100])
	by www2.open-std.org (Postfix) with ESMTP id 9FF79C178DA
	for <sc22wg5@open-std.org>; Mon,  6 Dec 2010 18:20:00 +0100 (CET)
Received: from donev.cims.nyu.edu (donev.cims.nyu.edu [128.122.80.20])
	(authenticated bits=0)
	by smtp.cims.nyu.edu (8.14.3/8.13.8) with ESMTP id oB6HJxff024727
	(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT)
	for <sc22wg5@open-std.org>; Mon, 6 Dec 2010 12:19:59 -0500 (EST)
Message-ID: <4CFD1B3F.2080003@courant.nyu.edu>
Date: Mon, 06 Dec 2010 12:19:59 -0500
From: Aleksandar Donev <donev@courant.nyu.edu>
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.11) Gecko/20101013 Thunderbird/3.1.5
MIME-Version: 1.0
To: WG5 <sc22wg5@open-std.org>
Subject: Re: (j3.2006) (SC22WG5.4370) [ukfortran] WG5 informal ballot re	Interop.
 TR
References: <20101108175805.5B97EC178E5@www2.open-std.org>	<20101206103130.1AE8AC178E3@www2.open-std.org>	<20101206134148.834A7C178E4@www2.open-std.org> <4CFD0D53.8030501@cray.com>
In-Reply-To: <4CFD0D53.8030501@cray.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

On 12/06/10 11:20, Bill Long wrote:
> However, one of the original desires of the MPI users was to have
>
> type(*),dimension(*)
>
> map to a void * dummy parameter and have only the address passed.  I 
> think this would be an often used form. 
And I did not propose changing that. On the C side it is still void*. 
The issue is what happens when a Fortran routine has such a dummy.

Let me write my proposed solution, this time without typos (I hope) but 
I won't try to get the language perfect:

An assumed-type dummy argument that is of assumed-shape or assumed-rank 
shall not correspond to an explicit-shape or assumed-size actual 
argument that is itself an assumed-type dummy argument.
[I think allocatables and pointers are OK. Also note that a CLASS(*) 
actual is allowed.]

Note for Rationale: This ensures that a caller can always pass type 
information for an assumed-shape or assumed-rank to the callee, even 
though there is no means to inquire it within Fortran.

Thanks,
Aleks

-- 
Aleksandar Donev, Assistant Professor of Mathematics
Courant Institute of Mathematical Sciences
Office: 909 Warren Weaver Hall, New York University
E-mail: donev@courant.nyu.edu
Phone: (212) 992-7315; Fax: (212) 995-4121
Mailing address: 251 Mercer St, New York, NY 10012
Web: http://cims.nyu.edu/~donev

