From owner-sc22wg5@open-std.org Mon Mar 3 09:26:44 2008 Return-Path: X-Original-To: sc22wg5-dom6 Delivered-To: sc22wg5-dom6@open-std.org Received: by open-std.org (Postfix, from userid 521) id 5D689DA752; Mon, 3 Mar 2008 09:26:44 +0100 (CET) X-Original-To: sc22wg5@open-std.org 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 open-std.org (Postfix) with ESMTP id 179F938507 for ; Mon, 3 Mar 2008 09:26:27 +0100 (CET) Received: from 218-42-159-108.cust.bit-drive.ne.jp ([218.42.159.108] helo=marucomputer) by ns.nag-j.co.jp with esmtp (Exim 4.50) id 1JW5su-00031n-IY for sc22wg5@open-std.org; Mon, 03 Mar 2008 17:18:56 +0900 Date: Mon, 03 Mar 2008 17:29:08 +0900 To: WG5 Subject: Re: (SC22WG5.3533) Interp ballot extension From: "Malcolm Cohen" Organization: =?iso-2022-jp?B?GyRCRnxLXCVMJWElaiUrJWslIiVrJTQlaiU6JWAlOiUwGyhC?= =?iso-2022-jp?B?GyRCJWshPCVXM3Q8MDJxPFIbKEI=?= Content-Type: text/plain; charset=iso-2022-jp MIME-Version: 1.0 References: <20080228091512.C944FD77F4@open-std.org> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: <20080228091512.C944FD77F4@open-std.org> User-Agent: Opera Mail/9.26 (Win32) Sender: owner-sc22wg5@open-std.org Precedence: bulk Yes No Number Title --- -N- F03/0049 Separators in list-directed output involving UDDTIO -C- --- F03/0050 Questions about internal files -C- --- F03/0086 Elemental and BIND(C) -Y- --- F03/0088 Defined operations/assignments and VOLATILE/ASYNCHRONOUS -Y- --- F03/0089 Interoperability of non-BIND derived types -Y- --- F03/0092 Procedure characteristics and unlimited polymorphic -C- --- F03/0093 Allocatable array on intrinsic assignment with scalar expr -C- --- F03/0094 Final subroutine and VALUE attribute -Y- --- F03/0095 Bounds remapped pointer assignment and ASSOCIATED -Y- --- F03/0097 Blanks as separators in NAMELIST input --- -N- F03/0098 Does allocate with source= define subcomponents? -C- --- F03/0101 Is UDDTIO output suitable for namelist and list-directed input ====================================================================== NUMBER: F03/0049 EDITS: [241:5+] In Section 10.9.2, add the following to the end of the first paragraph: "Two undelimited character sequences are considered adjacent when both were written using list-directed input/output, no intervening data transfer or input/output file positioning operations occurred, and both were written either by a single data transfer statement, or during the execution of a parent data transfer statement along with its child data transfer statements." This immediately raises a followup question: when it says "no intervening data transfer ... operations occurred", does it mean on the same unit or on any unit? For example, consider the very slightly modified: MODULE m2 TYPE t INTEGER i END TYPE INTERFACE WRITE(FORMATTED) MODULE PROCEDURE formattedWriteT END INTERFACE CONTAINS SUBROUTINE formattedWriteT(dtv, unit, iotype, v_list, iostat, iomsg) CLASS(t), INTENT(IN) :: dtv INTEGER, INTENT(IN) :: unit CHARACTER(LEN=*), INTENT(IN) :: iotype INTEGER, INTENT(IN) :: v_list(:) INTEGER, INTENT(OUT) :: iostat CHARACTER(LEN=*), INTENT(INOUT) :: iomsg CHARACTER(100) temp WRITE (temp,'(I0)') dtv%i WRITE (unit,*) TRIM(temp) END SUBROUTINE END MODULE PROGRAM foo2 USE m2 TYPE(t) :: t1 = t(5) OPEN(10, FILE='foo.txt', ACCESS='SEQUENTIAL', FORM='FORMATTED', & DELIM='NONE') WRITE(10, *), 'xyz', t1, 'zyx' END PROGRAM Does this write xyz 5xyz or xyz5xyz ? That is, is the data transfer which is an internal file write affect whether 'xyz' and TRIM(temp) are adjacent? Note that in F2008 this might involve two separate units instead. I submit that "on that unit" ought to be inserted into the edit after "operations", making the whole edit [241:5] In Section 10.9.2, add the following to the end of the first paragraph: "Two undelimited character sequences are considered adjacent when both were written using list-directed input/output, no intervening data transfer or input/output file positioning operations on that unit occurred, and both were written either by a single data transfer statement, or during the execution of a parent data transfer statement along with its child data transfer statements." Note: The location reference should be [241:5] since we are adding to the paragraph, not inserting after the existing one. ---------------------------------------------------------------------- NUMBER: F03/0050 The edits should identify the paragraph as being the seventh one. ---------------------------------------------------------------------- NUMBER: F03/0086 In the edit, "ELEMENTAL" should be "elemental". We only use uppercase for keywords and attributes, we use "elemental procedure" everywhere else e.g. [287:10,15] ---------------------------------------------------------------------- NUMBER: F03/0088 For F2008 I'd prefer to expand the definition of actual argument. ---------------------------------------------------------------------- NUMBER: F03/0093 EDITS: [139:22-] Insert new sentence at beginning of paragraph "If is an unallocated allocatable array, shall be an array of the same rank as ." COMMENT: "be an array of the" -> "have". ---------------------------------------------------------------------- NUMBER: F03/0094 The edit is to the last sentence of C473 in 4.5.5 "Final subroutines". ---------------------------------------------------------------------- NUMBER: F03/0098 EDITS: [113:21] At the end of the last sentence in 6.3.1.1 insert "unless they are defined by a SOURCE= specifier" No. They can be allocated but not defined. This should read something like "unless the SOURCE= specifier appears and the corresponding component of the is allocated". [421:27-28] 16.5.5, list item 19, modify by adding after "Allocation of an object", "except by an ALLOCATE statement with a SOURCE= specifier". No - splitting "object" apart from "that has" makes the sentence impossible to parse. Maybe insert after "Allocation", comma plus the insert above plus comma. Or rewrite? [422:41] 16.5.6, list item (11) insert "with no SOURCE= specifier" after "ALLOCATE statement" Probably ok, but maybe better to rewrite the whole item (11) as "Successful allocation of an ALLOCATE statement with no SOURCE= specifier causes a subcomponent of an allocated object to become undefined if default initialization has not been specified for that subcomponent." ? ---------------------------------------------------------------------- NUMBER: F03/0101 EDITS: "derived type"->"derived-type", thrice. [241:5] Add at the end of the paragraph "The form of the output produced by a user-defined derived type output routine invoked during list-directed output is specified by the invoked routine. It need not be compatible with list-directed input." Should this not be "The form of the values produced", the same as the opening sentence of the paragraph? Should the last sentence start "This form" to avoid ambiguity over "It"? ---------------------------------------------------------------------- -- ................Malcolm Cohen (malcolm@nag-j.co.jp)