Results obtained by compiling the "try90" test program are provided in the
matrix below. These results are not sanctioned by any official body and
are based on compilation checks only.
Results on DEC equipment were supplied by Steve Lionel
<lio...@quark.enet.dec.com>
Results on Epfc77 (Edinburgh Portable Compiler) were supplied by Kevin
Ritchie <ke...@epcfta.edinburgh.ac.uk>
Results on IBM VS Fortran Version 2.5 were supplied by Melvin Klassen
<KLA...@UVVM.UVic.CA>
Results on IBM VS Fortran Version 2.6 were supplied by Karen Barney
<KA...@STLVM20.VNET.IBM.COM>
Results on Laheys F77L3 and on Salford FTN77/486 were supplied by Alan
Miller <al...@mel.dms.CSIRO.AU>
Results on Cray, HP-UX, IBM-AIX, SGI IRIX and Sun SunOS by Bas Braams
<bra...@cims.nyu.edu>
Results are not supplied for any Fortran 90 compiler. The purpose of
try90.f is to test for Fortran 90 features likely to be found in some
Fortran 77 compilers; the program is definitely not intended as a test of
a Fortran 90 compiler.
The columns of the matrix indicate the tests.
(Table A)
exc: allow exclamation mark for comment
und: allow underscore
quo: allow quote instead of apostrophe
rel: allow alternative relational operators
lon: allow names of 31 characters
con: allow at least 39 continuation lines
boz: allow binary, octal and hex in a data statement
ozf: allow octal and hex in a format
bit: allow bit manipulation intrinsics
asc: allow explicit ascii intrinsics achar, iachar
(Table B)
imp: allow implicit none
inc: allow include statement
nml: allow namelist
dod: allow do-enddo
dow: allow do-while
mul: allow multiple statements on a line
zer: allow zero-sized array
dyn: allow dynamic array
The rows of the matrix indicate the compiler and operating system.
Cray Unicos: CF77 6.0, Unicos 7.0.
DEC OpenVMS VAX: DEC Fortran V6.1, OpenVMS VAX V6.0
DEC OpenVMS AXP: DEC Fortran V6.1, OpenVMS AXP V1.5
DEC OSF/1 AXP: DEC Fortran V3.3, DEC OSF/1 AXP V1.3
DEC Windows NT: DEC Fortran V1.0, Microsoft Windows NT AXP V3.1
DEC RISC ULTRIX: DEC Fortran V3.2.5, RISC ULTRIX V4.2
Epcf77: (Edinburgh Portable Compiler for UNIX)
HP-UX: HP-UX 9.1.
IBM AIX: IBM Fortran xlf 2.3, AIX 3.2.
IBM VS Fortran 2.5: VM/CMS and MVS/ESA.
IBM VS Fortran 2.6: VM/CMS and MVS/ESA.
Laheys F77L3: Version 5.20, for PC.
Salford FTN77/486: Version 2.69, for PC.
SGI IRIX: IRIX 4.0.
Sun SunOS: Sun Fortran V1.4, SunOS 4.1.3.
Entries in brackets are clarified in the notes following the table. The
test for the ascii character intrinsics was added to the program as an
afterthought, and the blanks in some table entries just mean that the test
wasn't yet in the program when the data were obtained.
Table A:
exc und quo rel lon con boz ozf bit asc
Cray Unicos: + + + - + + (+) + + -
DEC OpenVMS VAX: + + - - + + + + +
DEC OpenVMS AXP: + + (+) - + + + + +
DEC OSF/1 AXP: + + + - + + + + +
DEC Windows NT AXP: + + + - + + + + +
DEC RISC ULTRIX: + + + - + + + + +
HP-UX: + + + - + + + + + +
Epfc77: + + + - + + + + +
IBM AIX: + + + + + + + + + -
IBM VS Fortran 2.5: + + - + + + - - (+)
IBM VS Fortran 2.6: + + + + + + + + +
Laheys F77L3: + + + + + + (-) + (+) -
Salford FTN77/486: + + - - + + (+) + (+) -
SGI IRIX: + + + - + + + + + +
Sun SunOS: + + + - + (+) + + + +
Table B:
imp inc nml dod dow mul zer dyn
Cray Unicos: + + (+) + + - - +
DEC OpenVMS VAX: + + + + + - - -
DEC OpenVMS AXP: + + + + + - - -
DEC OSF/1 AXP: + + + + + - - -
DEC Windows NT AXP: + + + + + - - -
DEC RISC ULTRIX: + + + + + - - -
Epfc77: + + + + + - - -
HP-UX: + + + + + - + +
IBM AIX: + + + + + - - -
IBM VS Fortran 2.5: + + (+) + + - - -
IBM VS Fortran 2.6: + + + + + - - -
Laheys F77L3: + + + + + - - -
Salford FTN77/486: + + - + + - - -
SGI IRIX: + + + + + - + -
Sun SunOS: + + + + + - - -
Comments concerning the table entries:
Cray Unicos: boz: binary not allowed, octal and hex allowed.
Cray Unicos: nml: the i/o form with "nml=" is not allowed.
DEC OpenVMS AXP: quo: the /NOVMS qualifier must be used.
IBM VS V2.5: bit: all except ishftc are recognized.
IBM VS V2.5: nml: the i/o form with "nml=" is not allowed.
Laheys F77L3: boz: binary and octal not allowed, hex allowed.
Laheys F77L3: bit: all are supported, not all are intrinsic.
Salford FTN77: boz: binary not allowed, octal and hex allowed.
Salford FTN77: bit: all are supported, not all are intrinsic.
SunOS: con: "f77 -Nl39" must be used.
Further comments concerning the tests.
con: This is not really a test of a Fortran 90 extension, because the
Fortran 90 limits are 19 continuation lines for fixed-form source and 39
continuation lines for free form source.
asc: Fortran 90 has added these intrinsics; on any system that uses the
ASCII collating sequence equivalent functionality is supplied by the old
intrinsics char and ichar.
inc: The Fortran 90 standard says nothing about directory search in
connection with the INCLUDE statement, and compiler treatments may vary.
nml: The program only tests whether the Fortran 90 namelist syntax is
accepted by the compiler. Most Fortran 77 compilers will require that the
namelist i/o data items follow the IBM style, in which, for instance, an
i/o record is terminated by "&end" or "$end" rather than by "/".
dyn: Many compilers offer dynamic arrays through a combination of
POINTER statements and malloc-type system calls. Since that is not the
Fortran 90 style, try90.f does not test for it.
Long source lines (132 chars) are in conflict with ANSI Fortran 77 and
with fixed-form Fortran 90, but they may be of interest for making the
transition to free-form Fortran 90. Source lines of up to 132 characters
are permitted under the following compiler options:
Cray Unicos: not allowed; "cf77 -N 80" permits 80 chars.
DEC equipment: -extend_source or /extend_source
Epfc77: -e or -132
HP-UX: +es
IBM AIX: not allowed, but option -k permits a free-form input
that differs from the Fortran 90 standard.
IBM VS Fortran 2.5: not allowed.
IBM VS Fortran 2.6: not allowed.
Laheys F77L3: allowed without option.
Salford FTN77: not allowed.
SGI IRIX: -extend_source
Sun SunOS: -e