Subject: Fortran conventions

From: "Michael W. Berry" <[email-masked]>
Date: Tue, 04 Apr 1995 13:43:00 -0400

From David Bailey....

------- Forwarded Message

Date: Tue, 4 Apr 1995 09:52:13 -0700
From: [email-masked] (David H. Bailey)
To: [email-masked]
Subject: Fortran conventions

I haven't been able to locate the reference to the "Milspec"
extensions to Fortran-77.  But as I recall it includes most of the
following.  Certainly these extensions would be expected in any
reasonable Fortran-77 compiler nowadays.  These appear in some of the
NAS benchmarks, for example.  In any event, I recommend that we permit
the following in all ParkBench codes.

1. Long identifiers, up to 31 chars long, together with the optional
usage of the underscore after the first character.

2. Upper and lower case alphabetics, which are treated
indistinguishably.

3. IMPLICIT NONE.

4. DO-ENDDO constructs.

5. INCLUDE statements.

6. The DOUBLE COMPLEX datatype, together with related intrinsics such
as DCMPLX.

7. INTEGER*4, REAL*8, COMPLEX*16, etc. (although REAL*4 may be handled
as 8-byte floating-point, etc.).

------- End of Forwarded Message

---

From: [email-masked] (Chuck Koelbel)
Date: Tue, 4 Apr 1995 13:35:58 -0600

I'm working from home today, so I don't have my copy of the F90 standard
handy.

>extensions to Fortran-77.

That's MIL-STD-1753.  The bib entry from the HPF standard says:

US Department of Defense. Military Standard, MIL-STD-1753: FORTRAN, DoD
Supplement to American National Standard X3.9-1978, November 9, 1978.

I'm not sure who to order it from...

>But as I recall it includes most of the

I think all of these actually appear in the MILSPEC and Fortran 90, with
the possible exception of

>as 8-byte floating-point, etc.).

I don't think in either one, although a VERY common compiler extension.

F90 has the KIND type parameter mechanism that specifies precision more,
well, precisely (in effect, you can say "here's how many decimal digits of
accuracy I need", compiler picks the most efficient machine
representation.)  However, no F77 compilers use the F90 mechanism.

REAL*8 et al are probably OK to allow in Parkbench F77 codes, but (future)
F90 versions ought to use KIND.

                                                        Chuck Koelbel