HP Fortran Programmer's Guide (B3908-90031; September 2011)

Migrating to HP Fortran
Migration issues
Chapter 10 229
Intrinsic functions
HP Fortran supports most of the intrinsics that HP FORTRAN 77 offers, and more. In addition, most of
these intrinsics are available in HP Fortran without having to activate them with compiler directives or
command-line options (as with HP FORTRAN 77).
With the larger number of available intrinsics in HP Fortran, there is the risk of name collisions with
user-defined functions in existing HP FORTRAN 77 source code. Use of the EXTERNAL statement can
prevent such collisions. Also, many HP FORTRAN 77 intrinsics accept additional (nonstandard) argument
types; HP Fortran is more standard-conforming in this regard.
If the program you are migrating from HP FORTRAN 77 to HP Fortran calls libU77 routines in the BSD
3f library, the names of some of those routines may clash with names of HP Fortran intrinsics. Table on
page 229 lists the names of libU77 routines and intrinsic procedures that are the same. If your
HP FORTRAN 77 program calls any of these libU77 routines, you should declare the routine with the
EXTERNAL statement to get the libU77 routine; otherwise, the compiler will attempt to select the
corresponding intrinsic procedure. (The f90 option that links in the library of libU77 routines is +U77.
Refer to the HP Fortran Programmer's Reference for information about all of the HP Fortran intrinsics and
the libU77 routines.
SAVE_LOCALS (ON) +save
SAVE_LOCALS OFF +nosave
SET -D or -U Use the C preprocessor #define directive.
STANDARD_LEVEL ANSI +langlvl=f90 Applies to Fortran 90 instead of FORTRAN
77.
SYMDEBUG -g
UPPERCASE +[no]uppercase Lowercase is the default.
WARNINGS -w
Table 10-4 Conflicting intrinsics and libU77 routine names
FREE IARGC MALLOC
GETARG IDATE SYSTEM
GETENV LOC TIME
Table 10-3 HP FORTRAN 77 directives supported by f90 options (Continued)
HP FORTRAN 77 directive HP Fortran option Remarks