From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Thu Sep  5 05:34:07 2013
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 D271935725C; Thu,  5 Sep 2013 05:34:06 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from exprod6og104.obsmtp.com (exprod6og104.obsmtp.com [64.18.1.187])
	by www.open-std.org (Postfix) with ESMTP id 57ECA35725B
	for <sc22wg5@open-std.org>; Thu,  5 Sep 2013 05:33:50 +0200 (CEST)
Received: from CFWEX01.americas.cray.com ([136.162.34.11]) (using TLSv1) by exprod6ob104.postini.com ([64.18.5.12]) with SMTP
	ID DSNKUif7nQjDW7y4XBFxluOP3vpAPL9bP6Dy@postini.com; Wed, 04 Sep 2013 20:34:05 PDT
Received: from bill-longs-macbook-pro.local (192.168.233.205) by
 CFWEX01.americas.cray.com (172.30.88.25) with Microsoft SMTP Server id
 14.2.347.0; Wed, 4 Sep 2013 22:33:48 -0500
Message-ID: <5227FD4B.7080707@cray.com>
Date: Wed, 4 Sep 2013 22:40:59 -0500
From: Bill Long <longb@cray.com>
Reply-To: <longb@cray.com>
Organization: Cray Inc.
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: sc22wg5 <sc22wg5@open-std.org>
Subject: (j3.2006) (SC22WG5.5061) [WG5 letter ballot 6 on Fortran 2008 interpretations]
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed
Content-Transfer-Encoding: 7bit
Sender: owner-sc22wg5@open-std.org
Precedence: bulk



The following Fortran 2008 interpretations are being balloted:

Yes  No Number     Title

-Y-  ---  F03/0030   IEEE divide by zero
-C-  ---  F03/0047   Polymorphic arguments to intrinsic procedures
-Y-  ---  F03/0053   The BIND attribute for C_PTR and C_FUNPTR
-Y-  ---  F03/0064   Recursive declaration of procedure interfaces
-Y-  ---  F03/0100   Error in field width for special cases of signed
                      INFINITY output
-C-  ---  F03/0139   Functions returning procedure pointers
-Y-  ---  F08/0071   Vector subscript target
-Y-  ---  F08/0075   Pointer function reference as variable in assignment
-Y-  ---  F08/0076   Pointer function reference in READ
                      Subsumed by F07/0075
-Y-  ---  F08/0083   Type parameter default expressions allow circular
                      dependence
-Y-  ---  F08/0084   Pointer arguments to PURE functions
-Y-  ---  F08/0085   Problems with PARAMETERs
-Y-  ---  F08/0086   Implied-shape and separate PARAMETER statement
-Y-  ---  F08/0087   Mixed-kind character assignment
-Y-  ---  F08/0088   Can ALLOCATE with SOURCE= have side-effects in a
                      PURE proc?
-C-  ---  F08/0089   Variable-denoting functions change existing
                      semantics
-Y-  ---  F08/0090   What restrictions apply to initialization and
                      PARAMETER?


Comments:

F03/0047: Answer 5 introduces a curious asymmetry if FSOURCE is not
           polymorphic and TSOURCE is polymorphic. In that case the
           result is polymorphic.  However, the reference could just as
           easily been written merge(fsource, tsource, .not.mask) in
           which case the result is not polymorphic.

           Question 12(b) is really two questions, but there is only
           one Answer 12(b). [I realize that there is a clear pattern
           from previous answers, but this is a formal reply.]

  	  Question 13(d) is really two questions, but there is only
  	  one Answer 14(b).

F03/0139: Several of the edits change "result value" to "function
           result". I would expect the new "function result" text to be
           a hot link to the definition, as was the case with the
           replaced "result value".

	  5.1p2 seems to need more work that the edit for [87:9]. The
	  wording about functions having type and rank is tied to them
	  returning a data result.  This is not relevant for a
	  function that returns a procedure pointer that is associated
	  with a subroutine. Perhaps fixed by adding "that returns a
	  data result" after "A function" in [87:8].

	  Missed a "result variable" that crossed lines [307:16-17].

	  From the edit to C1290 [314:3] I assume that an elemental
	  function is not allowed to return a procedure
	  pointer. Should the initial answer (1b) start "Yes, a
	  nonelemental function..."?

	  In the edit for [433:7] I think the new text would be better
	  as "result is a scalar variable". We are not proposing to
	  allow a Fortran procedure pointer result here.

F08/0089: Twice in the edits appears "...a <function-reference> to a
           pointer function is regarded as a variable...". Should this
           be a "data pointer function"?


-- 
Bill Long                                           longb@cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101


