From owner-sc22wg5@open-std.org  Fri Jun 30 21:58:28 2006
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dmo5
Delivered-To: sc22wg5-dmo5@open-std.org
Received: by open-std.org (Postfix, from userid 521)
	id C225023781; Fri, 30 Jun 2006 21:58:28 +0200 (CET DST)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from mailhub.dfrc.nasa.gov (mailhub.dfrc.nasa.gov [130.134.81.12])
	by open-std.org (Postfix) with ESMTP id 8838723775
	for <sc22wg5@open-std.org>; Fri, 30 Jun 2006 21:58:26 +0200 (CET DST)
Received: from mail.dfrc.nasa.gov by mailhub.dfrc.nasa.gov with ESMTP for sc22wg5@open-std.org; Fri, 30 Jun 2006 12:58:15 -0700
Received: from [130.134.138.171] (viruswall.dfrc.nasa.gov [130.134.64.54])
          by mail.dfrc.nasa.gov (Post.Office MTA v3.5.3 release 223
          ID# 0-71686U2500L200S0V35) with ESMTP id gov
          for <sc22wg5@open-std.org>; Fri, 30 Jun 2006 12:58:14 -0700
Mime-Version: 1.0 (Apple Message framework v750)
In-Reply-To: <20060630180313.C14AC216E9@open-std.org>
References: <20060630180313.C14AC216E9@open-std.org>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <192F2247-9E94-46AA-85D6-7E8474587B82@nasa.gov>
Content-Transfer-Encoding: 7bit
From: Richard E Maine <Richard.Maine@nasa.gov>
Subject: Re: (j3.2005) (SC22WG5.3404)  [ukfortran] WG5 Vote on Corrigendum 2
Date: Fri, 30 Jun 2006 12:58:11 -0700
To: sc22wg5@open-std.org
X-Mailer: Apple Mail (2.750)
Sender: owner-sc22wg5@open-std.org
Precedence: bulk


On Jun 30, 2006, at 11:03 AM, Michael Ingrassia wrote:

> I'm not sure I believe yet that
> a <char-length> can't appear in a <derived-type-spec>.
>
> The case I'd worry about is something like
>
> 	TYPE NEWCHAR(L)
> 	INTEGER, LEN :: L
> 	CHARACTER*L :: C
> 	END TYPE
>
> (which may not be legal Fortran 2003 but at least it's close!)
>
> Then  NEWCHAR(L) is a derived-type-spec and L is a char-length within
> the meaning of [41:20-37], isn't it?

No. The L in newchar(L) is a type-param-value. See 4.5.8. The term  
char-length is a syntactic term referring to a specific syntax - not  
to general use. The L in the character*L (I think you need a parens  
there, but I'm not sure and it doesn't matter) is a char-length, but  
that is a different appearance of L. Again, this is a syntax term, so  
the fact that there is a relationship between those 2 Ls is  
irrelevant. One of them is a char-length; the other isn't.

Char-lenggth does not mean something that eventually gets used to  
specify a character length somewhere. It refers to the specific  
syntax rules R424 el al. You won't find R424 fitting anywhere in  
newchar(L)/

-- 
Richard Maine                |  Good judgment comes from experience;
Richard.Maine@nasa.gov       |  experience comes from bad judgment.
                             |        -- Mark Twain

