Compaq Fortran
Release Notes for Compaq Tru64
UNIX Systems
2.5 New Features in Version 1.2
DIGITAL Fortran 90 Version 1.2 contains the following changes since
Version 1.1:
- Support for REAL (KIND=16) (or REAL*16) X_float (extended
precision) data type and its associated intrinsics (a DIGITAL Fortran
extension). For more information see Section 1.12.
- Support for variable format expressions (VFEs), a DIGITAL Fortran
extension (see Section 1.12).
- Support for OPTIONS statements, which allow you to specify
command-line options in your source files. The OPTIONS statement is a
DIGITAL Fortran extension.
- Intrinsic procedures FP_CLASS and IMAG (a DIGITAL Fortran
extension).
- STATIC and AUTOMATIC declaration attributes and statements (a
DIGITAL Fortran extension).
- The following
f90
command options were added for Version 1.2:
- The
-convert fgx
and
-convert fdx
options allow conversion of unformatted OpenVMS Alpha DIGITAL Fortran
77 data files. Similarly, the FDX and FGX keywords are recognized for
the OPEN statement CONVERT keyword and the FORT_CONVERTn
environment variable names.
Specifying
-convert fdx
indicates the data contains::
- Little endian integer format (INTEGER declarations of the
appropriate size)
- REAL*4 and COMPLEX*8 data in VAX F_float format
- REAL*8 and COMPLEX*16 data in VAX D_float format
- REAL*16 data in native X_float format
Specifying
-convert fgx
indicates the data contains:
- Little endian integer format (INTEGER declarations of the
appropriate size)
- REAL*4 and COMPLEX*8 data in VAX F_float format
- REAL*8 and COMPLEX*16 data in VAX G_float format
- REAL*16 data in native X_float format
- The
-double_size 128
option specifies that DOUBLE PRECISION declarations are implemented as
extended precision REAL (KIND=16) data rather than double precision
REAL (KIND=8) data.
- The
-real_size 128
and
-r16
options allow a REAL declaration to be interpreted using the REAL
(KIND=16) data type.
- The
-inline xxxxx
options can be used to specify the type of inlining done independent of
the
-on
option (optimization level) specified:
- To prevent inlining of procedures (except statement functions), use
-inline none
or
-inline manual
.
This is the type of inlining done with
-o0
,
-o1
,
-o2
, or
-o3
.
- The
-inline automatic
option was replaced at Version 1.3 with
-inline size
and
-inline speed
(see Section 2.4), allowing more control over inlining.
- To inline every call that can possibly be inlined while generating
correct code, including: statement functions, procedures that
Compaq Fortran thinks will improve run-time performance, and any other
procedures that can possibly be inlined while generating correct code
(certain recursive routines cannot be inlined), use
-inline all
. This option is meaningful only at optimization levels
-o1
and higher.
- The
-gen_feedback
option requests additional profiling information needed for feedback
file use. You can use
-gen_feedback
with any optimization level up to
-o3
(to avoid inlining procedures). If you omit a
-on
option, the
-gen_feedback
option changes the default optimization level to
-o0
.
A typical command-line sequence to create a feedback file (
profsample.feedback
) follows:
% f90 -gen_feedback -o profsample -O3 profsample.f90
% pixie profsample
% profsample.pixie
% prof -pixie -feedback profsample.feedback profsample
|
- The
-feedback
option now works with
-cord
or separately without
-cord
to specify a previously-created feedback file. For example:
% f90 -feedback profsample.feedback -o profsample -O3 profsample.f90
|
The feedback file provides the compiler with actual execution
information, which the compiler can use to perform such optimizations
as inlining function calls.
The same optimization level (
-on
option) must be specified for the
f90
command with the
-gen_feedback
option and the
f90
command with the
-feedback name
option.
You can use the feedback file as input to the
f90
compiler and
cord
, as follows:
% f90 -cord -feedback profsample.feedback -o profsample -O3 profsample.f90
|
- The -tune keyword
option selects processor-specific instruction tuning for
implementations of the Alpha architecture. Regardless of the setting of
-tune keyword
, the generated code will run correctly on all implementations of the
Alpha architecture. Tuning for a specific implementation can improve
run-time performance; it is also possible that code tuned for a
specific target may run slower on another target.
Choose one of the
following:
- To generate and schedule code that will execute well for both types
of chips, use
-tune generic
. This provides generally efficient code for those cases where both
types of chips are likely to be used. If you do not specify any
-tune keyword
option,
-tune generic
is used (default).
- To generate and schedule code optimized for the type of chip in use
on the system being used for compilation, use
-tune host
.
- To generate and schedule code optimized for the 21064, 20164A,
21066, and 21068 implementations of the Alpha chip, use
-tune ev4
.
- To generate and schedule code optimized for the 21164
implementation of the Alpha chip, use
-tune ev5
.
- The
-check noformat
option disables the run-time message (number 61) associated with format
mismatches. It also requests that the data item be formatted using the
specified descriptor, unless the length of the item cannot accommodate
the descriptor (for example, it is still an error to pass an INTEGER
(KIND=2) item to an E edit descriptor). Using
-check noformat
allows such format mismatches as a REAL (KIND=4) item formatted with an
I edit descriptor.
If you omit the
-vms
option, the default is
-check noformat
.
If you specify
-vms
and omit
-check noformat
,
-check format
is used.
- The
-check output_conversion
option disables the run-time message (number 63) associated with format
truncation. The data item is printed with asterisks. Error number 63
occurs when a number could not be output in the specified format field
length without loss of significant digits (format truncation).
If
you omit the
-vms
option, the default is
-check nooutput_conversion
.
If you specify
-vms
and omit
-check nooutput_conversion
,
-check output_conversion
is used.
- The
-vms
option now sets defaults for
-check output_conversion
and
-check format
.
For more complete product information, see the Compaq Fortran
documentation and the f90(1) reference
(man) page.
2.6 New Features in Version 1.1
DIGITAL Fortran 90 Version 1.1 contains the following changes since
Version 1.0:
- The following
f90
command options were added for Version 1.1:
- The
-check bounds
option generates additional code to detect out-of-bounds subscripts for
array operations and character substring expressions at run-time. Use
this option for debugging purposes.
- The
-idir
option specifies an additional directory to be searched for files
specified with an INCLUDE statement or module files. For Version 1.0,
this option specified an additional directory searched for module files
only.
- The
-warn argument_checking
option issues a warning message about argument mismatches between the
calling and the called procedure when both program units are compiled
together.
- The
fsplit
command now accepts DIGITAL Fortran 90 free-form source files (see
fsplit(1)). For example:
% fsplit -f90 -free bigfile.f90
|
For more complete product information, see the Compaq Fortran
documentation and the f90(1) reference
(man) page.
Chapter 3
Documentation, Corrections, and Other Fortran Documentation
The sections in this chapter:
- List known Compaq Fortran documentation corrections ( Section 3.1)
- Describe Compaq Fortran documentation and online information
( Section 3.2)
- Describe the main Compaq Parallel Software Environment documents ( Section 3.3)
- List other sources of information about Fortran 95/90
( Section 3.4)
The Compaq Fortran Web page provides a wealth of information about
Compaq Fortran products, including update (patch) kits:
3.1 Compaq Fortran Documentation Corrections
This section contains information that does not appear in the
Compaq Fortran documentation. Included in each description is a notation
of the first version to which it applies.
3.1.1 Compaq Fortran Installation Guide for Tru64 UNIX Systems
The following corrections apply to the installation guide, order number
AA--PW82G--TE (January 2001 on the inside title page):
3.1.2 Compaq Fortran User Manual for Tru64 UNIX and Linux Alpha Systems
There are no known corrections to the Compaq Fortran User Manual for Tru64 UNIX and Linux Alpha Systems, order number
AA--Q66TD--TE (December 1999 on the inside title page).
New features added for Version 5.4 are not shown in this manual (last
updated for Version 5.3).
3.1.3 Compaq Fortran Language Reference Manual
There are no known corrections to the Compaq Fortran Language
Reference Manual, order number AA--Q66SD--TK (September 1999 on
the inside title page).
New features added for Version 5.4 are not shown in this multi-platform
manual (last updated just before Version 5.3).
3.2 Compaq Fortran Documentation and Online Information
The Compaq Fortran documentation set includes the following:
- Compaq Fortran Installation Guide for Tru64 UNIX Systems (AA--PW82G--TE)
Explains how to install Compaq
Fortran (Compaq Fortran and Compaq Fortran 77) on a Compaq Tru64 UNIX
Alpha system, including requirements.
The installation guide is
included with the Compaq Fortran (95/90) document kit,
QA-MV2AA-GZ.5.n and the Compaq Fortran 77 kit,
QA-MV2AB-GZ.5.n. It is also included in ASCII and
PostScript® form on the Software Product Library CD-ROM (media
CD-ROM) and is on the Online Documentation Library CD-ROM in HTML form.
- Compaq Fortran Language Reference Manual (AA--Q66SD--TK)
Describes the Compaq Fortran
source language for reference purposes, including the format and use of
statements, intrinsic procedures, and other language elements. It also
provides an overview of new Fortran 95/90 features (not available in
FORTRAN-77).
It identifies extensions to the Fortran 95 standard by
blue-green color in the printed and HTML forms of this
document.
The Compaq Fortran Language Reference Manual is
included with the Compaq Fortran (95/90) document kit, QA-MV2AA-GZ and
is available on the Online Documentation Library CD-ROM in HTML form.
The Compaq Fortran Language Reference Manual has been translated into Japanese and is
available.
- Compaq Fortran User Manual for Tru64 UNIX and Linux Alpha Systems (AA--Q66TD--TE)
Describes the Compaq Fortran
program development and run-time environment on Compaq Tru64 UNIX Alpha
systems. It describes compiling, linking, running, and debugging
Compaq Fortran programs, performance guidelines, run-time I/O and
error-handling support, data types, numeric data conversion, calling
other procedures and library routines, and compatibility with Compaq
Fortran 77. It provides information common to Compaq Fortran and the
Compaq Parallel Software Environment as well as information about using directed parallel
processing using OpenMP and Compaq Fortran directives.
The printed
version of this document is included with the Compaq Fortran (95/90)
document kit, QA-MV2AA-GZ.5.n and is on the Online
Documentation Library CD-ROM in HTML form.
- Read Before Installing or Using Compaq Fortran Version 5.n for
Compaq Tru64 UNIX Systems (AV--PW83N--TE)
This cover letter
contains information about installing Compaq Fortran (Compaq Fortran and
Compaq Fortran 77) that may not be included in the installation guide
or in the release notes.
This cover letter is included with the
Compaq Fortran (95/90) document kit, QA-MV2AA-GZ.5.n, and the
Compaq Fortran 77 kit, QA-MV2AB-GZ.5.n. It is also included on
the Software Product Library CD-ROM (media CD-ROM) in ASCII and
PostScript form.
The Compaq Fortran Software Product Description (SPD) is provided as a
file on the Software Product Library CD-ROM (media CD-ROM).
The following Compaq Fortran online information is available (once
installed on the system):
- Compaq Fortran online reference pages (man pages)
Describe the
Compaq Fortran software components, including f90(1), fpr(1),
fsplit(1), intro(3f), numerous Fortran library routines
listed in intro(3f), and numerous
parallel High Performance Fortran library routines listed in intro(3hpf).
- Compaq Fortran online release notes
Provide more information on
this version of Compaq Fortran, including known problems and a summary
of the Compaq Fortran run-time error messages. These release notes are
also provided on the Software Product Library CD-ROM (media CD-ROM).
Once installed, the online release notes are located in:
/usr/lib/cmplrs/fort90/relnotes90
To view this file, use the
more
command (or
view
or similar command) on a system where Compaq Fortran is installed:
% more /usr/lib/cmplrs/fort90/relnotes90
|
To initiate a search within
more
, type a slash (/) followed by the appropriate topic. For information
about using the
more
command, see more(1).
- Compaq Fortran online help file
This ASCII file provides online
access to Compaq Fortran information, which includes error message
descriptions, a summary of the language elements (statements, intrinsic
functions, and so on), a glossary, and other information. The Compaq
Fortran help file is located in:
/usr/lib/cmplrs/fort90/decfortran90.hlp
|
Use the
more
command or the
view
command to access the information available in these ASCII files. These
help files are large and are not usually printed on a printer or read
sequentially.
The Compaq Fortran Installation Guide for Tru64 UNIX Systems, these online release notes, the "read
first" cover letter, and the SPD are available on the Compaq Tru64
UNIX Software Product Library CD-ROM (media CD-ROM) in ASCII and
PostScript format.
All Compaq Fortran documents except the cover letter and SPD are
available on the Compaq Tru64 UNIX Online Documentation Library CD-ROM
in HTML format.
3.3 Compaq HPF and Parallel Software Environment Documentation
The Compaq Parallel Software Environment product is no longer supported. The DIGITAL High
Performance Fortran 90 HPF and PSE Manual (in the Compaq Parallel
Software Environment documentation kit, QA-2ATAA-GZ), however, still
contains important HPF documentation in Chapters 1-8.
The DIGITAL High Performance Fortran 90 HPF and PSE Manual explains both the (now retired) Parallel Software
Environment (PSE) and the (still current) High Performance Fortran
(HPF) programming language. It contains a tutorial describing how to
write programs using the HPF extensions to Compaq Fortran.
3.4 Other Sources of Information About Fortran 95/90
This section lists sources of information about Fortran 95/90 other
than the Compaq Fortran documentation.
The following publication is the copywritten standard for Fortran 90
and 95:
- American National Standard Programming Language Fortran 90, ANSI
X3.198-1991, and International Standards Organization Programming
Language standard ISO/IEC 1539:1991. (Simply referred to in
documentation as the "Fortran 90 Standard".)
- American National Standard Programming Language Fortran 95,
X3J3/96-007, and International Standards Organization Programming
Language standard ISO/IEC 1539-1:1996. (Simply referred to in
documentation as the "Fortran 95 Standard".)
Tutorial information about the Fortran 95/90 language is available in
commercially published documents at major book stores or from their
publishers. Compaq Fortran documentation does not usually provide such
tutorial information. The following commercially published documents
(listed in alphabetical order by title) in English provide reference or
tutorial information about Fortran 90:
- Fortran 90 Explained by M. Metcalf and J. Reid, Published
by Oxford University Press, ISBN 0-19-853772-7.
- Fortran 90/95 Explained by M. Metcalf and J. Reid,
Published by Oxford University Press, ISBN 0-19-851888-9.
- Fortran 90/95 for Scientists and Engineers by S. Chapman,
Published by WCB McGraw-Hill, ISBN 0-07-011938-4.
- Fortran 90 Handbook by J. Adams, W. Brainerd, J. Martin,
B. Smith, and J. Wagener, Published by Intertext Publications
(McGraw-Hill), ISBN 0-07-000406-4.
- Fortran 90 Programming by T. Ellis, I. Philips, and T.
Lahey, Published by Addison/Wesley, ISBN 0201-54446-6.
- Introduction to Fortran 90/95 by S. Chapman, Published by
WCB McGraw-Hill, ISBN 0-07-011969-4.
- Programmer's Guide to Fortran 90, Second Edition by W.
Brainerd, C. Goldberg, and J. Adams, Published by Unicomp, ISBN
0-07-000248-7.
For information on parallel programming using OpenMP, see the following:
- Parallel Programming in OpenMP by Rohit Chandra, Ramesh
Menon, Leo Dagum, David Kohr, Dror Maydan, and Jeff MCDonald, Published
by Morgan Kauffman, ISBN 1-55860-671-8.
For information on High Performance Fortran (HPF), see the following:
- High Performance Fortran Language Specification, Version
2.0. This specifications is available online on the World Wide Web
as follows:
Compaq provides this list of Fortran 90/95 documents (books) for the
sole purpose of assisting customers who want to learn more about the
Fortran 90/95 language. This list of documents does not
comment---either positively or negatively---on any of the documents
listed or any not yet listed. Any omissions are not intentional.
Publications that become available after the revision of a
Compaq Fortran document will be added at the next revision.