the expression foo**baris legal in HP FORTRAN 77™but not in HP Fortran™. (HP FORTRAN 77 ™coerces COMPLEX(16)entities to COMPLEX(8)in order to continue the computation.)

Given the previous declarations, the following is acceptable in HP Fortran™:

foo**REAL(bar, 8) ! foo**bar

See the HP Fortran Programmer's Reference for information about theREAL intrinsic.

Input/output

The following I/O specifiers are recognized by the OPENstatement and by other I/Ostatements in HP FORTRAN 77™ but are not supported in HP Fortran™:

ACCESS=expr1, where expr1is a constant expression other than DIRECTor SEQUENTIAL.

IOSTAT=

KEY=

NAME=

READONLY

STATUS=expr2, where expr2is a constant expression other than OLD, NEW, UNKNOWN,

REPLACE, or SCRATCH.

TYPE=

In general, HP FORTRAN 77™ allows more specifiers (and more options to specifiers) than does HP Fortran™. There are additional differences between the HP FORTRAN 77™ version of the

OPENstatement and the HP Fortran™ version; compare the description ofOPEN in the HP Fortran Programmer's Reference with that in the HP FORTRAN/9000 Programmer's Reference.

In HP FORTRAN 77™, namelist-directed output character strings are always quote-delimited; how and whether such strings are delimited in HP Fortran depends on the DELIM= specifier. Also, HP FORTRAN 77 allows the NAMELISTstatement to appear after executable statements; HP Fortran does not. For more information about the NAMELIST statement, see the HP Fortran Programmer's Reference.

Directives

Only a small number of the compiler directives from HP FORTRAN 77™ are supported under HP Fortran. These are:

ALIAS

CHECK_OVERFLOW

LIST

OPTIMIZE

SHARED_COMMON

The syntax and functionality of individual directives has also changed; for detailed information about the HP Fortran™ directives, see the HP Fortran Programmer's Reference.

All unsupported directives should be deleted or replaced by HP Fortran code that results in the same functionality (see Table on page 228).

134 Migrating to HP Fortran

Page 134
Image 134
HP UX Fortran Software manual Input/output, Directives, Foo**REALbar, 8 ! foo**bar, Key=, REPLACE, or Scratch