HP Fortran Programmer's Guide (September 2007)
Migrating to HP Fortran
Migration issues
Chapter 10 223
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 223 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.
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
Table 10-3 HP FORTRAN 77 directives supported by f90 options
HP FORTRAN 77
directive
HP Fortran
option Remarks