From owner-sc22wg5@open-std.org  Mon Dec  6 20:03:20 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 0EF8FC3BA37; Mon,  6 Dec 2010 20:03:20 +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 4C540C3BA1C
	for <sc22wg5@open-std.org>; Mon,  6 Dec 2010 20:03:18 +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 oB6J3HIs017110
	(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT)
	for <sc22wg5@open-std.org>; Mon, 6 Dec 2010 14:03:17 -0500 (EST)
Message-ID: <4CFD3375.3060706@courant.nyu.edu>
Date: Mon, 06 Dec 2010 14:03:17 -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.4376) [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>	<20101206172155.862D5C178DA@www2.open-std.org> <4CFD2A4D.6070600@cray.com>
In-Reply-To: <4CFD2A4D.6070600@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 13:24, Bill Long wrote:
> If we make that the case, then we have to also allow a C function to 
> call a BIND(C) Fortran subprogram that has a CLASS(*) dummy
No we don't Bill. An interface with a CLASS(*) dummy is NOT 
interoperable and no one has proposed to make it so. An interface with 
TYPE(*) dummy is. The question is: Can the actual argument be CLASS(*) 
or not.

interface
     subroutine sub(x) bind(c)
         type(*), dimension(:) :: x
     end subroutine
end interface

CLASS(*), ... :: x(:)

! Is this allowed and what does the C descriptor get filled with?
call sub(x(1:10:2))

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

