DIGITAL Fortran 90
User Manual for
DIGITAL UNIX Systems


Previous Contents Index

A.2.4 Compiler Command-Line Differences

DIGITAL Fortran 77 ( f77 command) and DIGITAL Fortran 90 ( f90 command) share most of the same command-line options. The following options are provided only by DIGITAL Fortran 77 (not by DIGITAL Fortran 90):

The following options are provided only by DIGITAL Fortran 90 (not by DIGITAL Fortran 77):

A.3 Language Compatibility with DIGITAL Visual Fortran

The following language features found in DIGITAL Visual Fortran (and Microsoft® Fortran Powerstation Version 4) are now supported by DIGITAL Fortran on DIGITAL UNIX systems:

A.4 Compatibility with DIGITAL Fortran 77 and DIGITAL Fortran 90 for OpenVMS Systems

This section provides compatibility information for those who:

If your primary concern is the design and development of DIGITAL Fortran applications for only DIGITAL UNIX (or other U*X) systems, consider skipping this section.

This section discusses the following topics:

A.4.1 Language Features Specific to DIGITAL Fortran 77 and DIGITAL Fortran 90 for OpenVMS Systems

Some extensions to the FORTRAN-77 standard provided by DIGITAL Fortran 77 and DIGITAL Fortran 90 for OpenVMS Systems are specific to the OpenVMS operating system, VAX architecture, or certain products on OpenVMS systems. Such extensions are not included in DIGITAL Fortran 77 or DIGITAL Fortran 90 on DIGITAL UNIX Systems.

For information on language compatibility between DIGITAL Fortran 90 and DIGITAL Fortran 77 without regard to operating system or architecture differences, see Section A.2.

DIGITAL Fortran 77 and DIGITAL Fortran 90 products for OpenVMS systems include:

Unless otherwise noted, the following list describes the DIGITAL Fortran 77 extensions in DIGITAL Fortran 77 and/or DIGITAL Fortran 90 for OpenVMS systems that are not supported by DIGITAL Fortran 90 Version 5.n for DIGITAL UNIX Systems:

The following language and VAX architecture features are associated only with DIGITAL Fortran 77 on OpenVMS VAX Systems (previously called VAX FORTRAN) and are not supported by DIGITAL Fortran 90 Version 5.n for DIGITAL UNIX systems:

The following language and VAX architecture features are interpretation differences between DIGITAL Fortran 90 and DIGITAL Fortran 77 on Alpha systems and DIGITAL Fortran 77 on OpenVMS VAX Systems (previously called VAX FORTRAN):

For More Information:

A.4.2 OpenVMS Data Porting Considerations

When porting data between systems running the DIGITAL UNIX operating system and systems running the OpenVMS operating system, the file formats and the floating-point representations may differ.

The file and record formats of DIGITAL Fortran 77 on DIGITAL UNIX systems are compatible with DIGITAL Fortran 90 on DIGITAL UNIX systems; they share the same language run-time I/O environment (see Chapter 7).

OpenVMS Fortran1 files containing only character, integer, or logical data do not need field-by-field conversion, but the record types must match. The segmented record type is the same on OpenVMS Fortran systems and DIGITAL Fortran 90 on DIGITAL UNIX systems. Certain other record types, such as variable-length records, differ between OpenVMS systems and DIGITAL Fortran 90 on DIGITAL UNIX systems.

Table A-2 summarizes the OpenVMS Fortran record types and their equivalent record types in DIGITAL Fortran 90 on DIGITAL UNIX systems.

Table A-2 Equivalent Record Types for OpenVMS Fortran and DIGITAL Fortran 90 on DIGITAL UNIX Systems
OpenVMS Fortran Record Type DIGITAL UNIX Fortran Record Type Comments
Fixed-length None Equivalent (must be copied correctly) if you use sequential access and you specify the -vms option when compiling the DIGITAL Fortran 90 file. Otherwise, convert the file to a different record type.
Variable-length None Not equivalent. Convert the file to a different record type.
Segmented Segmented Equivalent (must be copied correctly). Segmented data files can contain formatted or unformatted data.
Stream None Not equivalent. Convert the file to a different record type.
Stream_CR Stream_CR Equivalent (must be copied correctly).
Stream_LF Stream_LF Equivalent (must be copied correctly).

A.4.2.1 Matching Record Types

To match record types, there are several options:

A.4.2.2 Copying Files

Equivalent record types must be copied carefully to preserve control information and record characteristics. For example:

To transfer (copy) the files, choose one of the following methods:

In addition to using the correct record type and carefully transferring the files, the data inside unformatted records may need to be converted. OpenVMS Fortran data files that contain VAX binary floating-point data must be converted before they can be accessed by a DIGITAL Fortran 90 program. There are several methods:

If you need to convert unformatted floating-point data, keep in mind that DIGITAL Fortran 77 for OpenVMS VAX programs (VAX hardware) store the following:

In contrast, DIGITAL Fortran 90 programs running the DIGITAL UNIX operating system on Alpha hardware store the following:

DIGITAL Fortran 77 and DIGITAL Fortran 90 for OpenVMS Alpha programs store floating-point data in the format specified by the /FLOAT qualifier:

For information on DIGITAL Fortran 90 data types, see Chapter 9.

For More Information:

A.4.3 Nonnative VAX Floating-Point Representations

This section provides information about VAX floating-point data formats. You can convert unformatted files from OpenVMS systems by using the methods described in Chapter 10.

On OpenVMS VAX systems, single-precision data (such as REAL*4) is stored in VAX F_float format and double-precision data (such as REAL*8) data can be stored in either VAX D_float or VAX G_float formats, depending on whether the /G_FLOATING qualifier was specified on the FORTRAN command line (see the DEC Fortran User Manual for OpenVMS VAX Systems).

On OpenVMS Alpha systems, you can specify the floating-point format in memory by using the /FLOAT qualifier (see the DEC Fortran User Manual for OpenVMS AXP Systems). Single-precision data on OpenVMS Alpha systems is stored in either VAX F_float or IEEE S_float formats; double-precision data can be stored in VAX D_float, VAX G_float, or IEEE T_float formats.

REAL*16 (extended precision) data is always stored in IEEE style X_float format on Alpha systems.

With VAX floating-point data types, the binary radix point is to the left of the most-significant bit.

Note

1 OpenVMS Fortran refers collectively to VAX FORTRAN, DIGITAL Fortran 77 for OpenVMS Alpha Systems, and DIGITAL Fortran 77 for OpenVMS VAX Systems


Previous Next Contents Index