From David_Mattoon_at_CTC@relay.proteon.com Fri Jun 11 09:52:00 1993
Received: from monk.proteon.com by dkuug.dk with SMTP id AA23462
  (5.65c8/IDA-1.4.4j for <sc22wg5@dkuug.dk>); Fri, 11 Jun 1993 20:52:10 +0200
Received: from postoffi.pc.proteon.com by monk.proteon.com (5.65/1.8)
	id AA28921; Fri, 11 Jun 93 14:54:53 -0400
Message-Id: <9306111854.AA28921@monk.proteon.com>
Posted-Date: Fri, 11 Jun 93 14:52 EST
From: David_Mattoon_at_CTC@relay.proteon.com
Date: 11 Jun 93  13:23 EST
Subject: Re: (SC22WG5.377) Use of default format for internal files
To: Matthijs.van.Waveren@delft.sgp.slb.com, sc22wg5@dkuug.dk
X-Vers: CCMail to SMTP translator by Alan Marshall vers 2.71 12/16/92
Organization: Proteon, Inc., Westborough, MA  01581  [(508)898-2800]
X-Charset: ASCII
X-Char-Esc: 29

>Subject: (SC22WG5.377) Use of default format for internal files
>From: Matthijs van Waveren <Matthijs.van.Waveren@delft.sgp.slb.com>

> Using a Fortran QC package (QA Fortran) Steven has come across a
> warning message complaining of a ANSI violation as follows:

> AN INTERNAL FILE MUST NOT BE DEFAULT FORMAT

...
> The essence of the warning is understood, but could anyone tell us:

1. >        o what the rationale behind this part of the ANSI standard is,
2. >        o what the potential dangers of using this construct are, and
3. >        o what the implications for portability of this code are.

> Steven Heaney and Matthijs van Waveren

> Schlumberger Geco-Prakla
> Postbus 148
> 2600 AC Delft
> The Netherlands

> heaney@delft.sgp.slb.com/waveren@delft.sgp.slb.com

1. The formal terminology is "list-directed formatting" for internal files.
While it was prohibited in Fortran-77, it is allowed in Fortran-90. I don't
know what the rationale was, but possibly along the lines of
will-anyone-use-it;it-can-be-standardized-later. See also 2.

2. The value of Character variables are not delimited on output.
Therefore, it may not be possible to read the data back in with
list-directed formatting. For example, if the value of a character
data has an embedded blank or comma, this delimiter would
"prematurely" terminate the reading in of the value to a character
variable. The work-around would be to manually output apostrophes or
quotation marks, and blanks or commas, to force the data to be
delimited. (Adjacent character values are not separated with spaces
or commas. Values with embedded quotes or apostrophes are not doubled
on output. These would have to be "fixed".)

3. Some compilers already support list-directed formatting of
internal files. More will likely do so as they evolve to be
Fortran-90 complient. Your code will be restricted to Fortran-90
complient compilers or those compilers which support list-directed
formatting as a vendor extension.

\david_mattoon_at_ctc@relay.proteon.com

