From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org Wed Aug 29 16:18:54 2012 Return-Path: X-Original-To: sc22wg5-dom8 Delivered-To: sc22wg5-dom8@www.open-std.org Received: by www.open-std.org (Postfix, from userid 521) id 9AE6E356913; Wed, 29 Aug 2012 16:18:54 +0200 (CEST) Delivered-To: sc22wg5@open-std.org Received: from e5.ny.us.ibm.com (e5.ny.us.ibm.com [32.97.182.145]) by www.open-std.org (Postfix) with ESMTP id 8B2EE3568F8 for ; Wed, 29 Aug 2012 16:18:52 +0200 (CEST) Received: from /spool/local by e5.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 29 Aug 2012 10:18:50 -0400 Received: from d01dlp01.pok.ibm.com (9.56.250.166) by e5.ny.us.ibm.com (192.168.1.105) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 29 Aug 2012 10:18:47 -0400 Received: from d01relay07.pok.ibm.com (d01relay07.pok.ibm.com [9.56.227.147]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 9B35538C804D for ; Wed, 29 Aug 2012 10:18:46 -0400 (EDT) Received: from d01av05.pok.ibm.com (d01av05.pok.ibm.com [9.56.224.195]) by d01relay07.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7TEIgUM28770558 for ; Wed, 29 Aug 2012 10:18:42 -0400 Received: from d01av05.pok.ibm.com (loopback [127.0.0.1]) by d01av05.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7TEIgo7031383 for ; Wed, 29 Aug 2012 10:18:42 -0400 Received: from d25ml04.torolab.ibm.com (d25ml04.torolab.ibm.com [9.26.29.97]) by d01av05.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id q7TEIfsg031378 for ; Wed, 29 Aug 2012 10:18:42 -0400 To: WG5 MIME-Version: 1.0 Subject: Ballot 3 on Fortran 2008 interpretations X-KeepSent: 851BE5CB:B4756BDD-85257A69:004E3489; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.5.1FP5 SHF29 November 12, 2010 Message-ID: From: Daniel C Chen Date: Wed, 29 Aug 2012 10:18:39 -0400 X-MIMETrack: Serialize by Router on D25ML04/25/M/IBM(Release 8.5.2FP2|March 22, 2011) at 08/29/2012 10:18:41, Serialize complete at 08/29/2012 10:18:41 Content-Type: multipart/alternative; boundary="=_alternative 004E9DAC85257A69_=" X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12082914-5930-0000-0000-00000B5FD13F Sender: owner-sc22wg5@open-std.org Precedence: bulk This is a multipart message in MIME format. --=_alternative 004E9DAC85257A69_= Content-Type: text/plain; charset="US-ASCII" My vote is as follows: Yes No Number Title -Y- --- F03/0017 Dummy procedure pointers and PRESENT -Y- --- F03/0018 Multiple identical specific procedures in type-bound generic interfaces -Y- --- F03/0019 Multiple identical specific procedures in generic interface blocks -Y- --- F03/0021 What kind of token is a stop code? -Y- --- F03/0046 Unlimited polymorphic pointers in common blocks -Y- --- F03/0053 The BIND attribute for C_PTR and C_FUNPTR -Y- --- F03/0065 Relational equivalence -Y- --- F03/0084 IEEE_SET_ROUNDING_MODE in a subroutine -Y- --- F03/0096 Can a read statement change the unit value? --- -N- F03/0103 Restrictions on dummy arguments not present for polymorphic type or parameterized derived type -Y- --- F03/0116 indistinguishable specifics for a generic interface with use association -Y- --- F03/0118 Are lower bounds of assumed-shape arrays assumed? -Y- --- F03/0120 When are parameterized sequence types the same type? -Y- --- F03/0121 Precise FP semantics of the REAL intrinsic -Y- --- F08/0004 Is TARGET argument of ASSOCIATED a pointer or nonpointer dummy? -Y- --- F08/0008 IEEE exceptions for intrinsic functions -Y- --- F08/0031 PURE INTENT(OUT) finalization -Y- --- F08/0032 PURE FUNCTION result finalization -Y- --- F08/0038 Are pointless restrictions on DIM arguments intended? -Y- --- F08/0042 SOURCE= questions The reason for the 'NO' vote on F03/0103 is because: Passing a polymorphic optional argument that is not present to a non-polymorphic optional dummy should be disallowed as it requires de-referencing the descriptor. There are rules that disallow passing a pointer dummy or allocatable dummy that is not present as actual argument to a nonpointer nonallocatable optional dummy (12.5.2.12p3 (7)/(8)). There should be a similar rule for prohibit passing a polymorphic optional argument that is not present to a non-polymorphic optional dummy. I am aware that adding a runtime checking can solve the problem, but it will impact the performance. Daniel XL Fortran Development - IBM Toronto Software Lab Phone: 905-413-3056 Tie: 969-3056 Email: cdchen@ca.ibm.com http://www.ibm.com/software/awdtools/fortran/xlfortran --=_alternative 004E9DAC85257A69_= Content-Type: text/html; charset="US-ASCII" My vote is as follows:


Yes  No Number     Title
-Y-  ---  F03/0017   Dummy procedure pointers and PRESENT
-Y-  ---  F03/0018   Multiple identical specific procedures in
                     type-bound generic interfaces
-Y-  ---  F03/0019   Multiple identical specific procedures in
                     generic interface blocks
-Y-  ---  F03/0021   What kind of token is a stop code?
-Y-  ---  F03/0046   Unlimited polymorphic pointers in
                     common blocks
-Y-  ---  F03/0053   The BIND attribute for C_PTR and C_FUNPTR
-Y-  ---  F03/0065   Relational equivalence
-Y-  ---  F03/0084   IEEE_SET_ROUNDING_MODE in a subroutine
-Y-  ---  F03/0096   Can a read statement change the unit value?
---  -N-  F03/0103   Restrictions on dummy arguments not present for
                     polymorphic type or parameterized derived type
-Y-  ---  F03/0116   indistinguishable specifics for a generic
                     interface with use association
-Y-  ---  F03/0118   Are lower bounds of assumed-shape arrays assumed?
-Y-  ---  F03/0120   When are parameterized sequence types the same
                     type?
-Y-  ---  F03/0121   Precise FP semantics of the REAL intrinsic
-Y-  ---  F08/0004   Is TARGET argument of ASSOCIATED a pointer or
                     nonpointer dummy?
-Y-  ---  F08/0008   IEEE exceptions for intrinsic functions
-Y-  ---  F08/0031   PURE INTENT(OUT) finalization
-Y-  ---  F08/0032   PURE FUNCTION result finalization
-Y-  ---  F08/0038   Are pointless restrictions on DIM arguments
                     intended?
-Y-  ---  F08/0042   SOURCE= questions


The reason for the 'NO' vote on F03/0103 is because:

Passing a polymorphic optional argument that is not present to a non-polymorphic optional dummy should be disallowed as it requires de-referencing the descriptor. There are rules that disallow passing a pointer dummy or allocatable dummy that is not present as actual argument to a nonpointer nonallocatable optional dummy (12.5.2.12p3 (7)/(8)). There should be a similar rule for prohibit passing a polymorphic optional argument that is not present to a non-polymorphic optional dummy. I am aware that adding a runtime checking can solve the problem, but it will impact the performance.

Daniel

XL Fortran Development - IBM Toronto Software Lab
Phone: 905-413-3056  
Tie: 969-3056  
Email: cdchen@ca.ibm.com
http://www.ibm.com/software/awdtools/fortran/xlfortran --=_alternative 004E9DAC85257A69_=--