HP Fortran Release Notes Version 3.5 (5900-1775; September 2011; PA-RISC)

Computing access to the environment
Computing access to the environment is now supported by following intrinsic functions:
GET_COMMAND - returns the command that invoked the program.
GET_COMMAND_ARGUMENT - returns a command line argument of the command that
invoked the program.
GET_ENVIRONMENT_VARIABLE - returns the value of the specified environment variable.
COMMAND_ARGUMENT_COUNT - returns the number of command line arguments for the
command that invoked the program.
Binary, octal and hex constants
A binary, octal or hex constant is permitted as a principal argument in a call of the intrinsic function
INT, REAL, CMPLX, or DBLE (not for an optional argument that specifies the kind).
Table 3 Example 1 Binary, Octal and Hex constants
INT(O’345’),REAL(Z’1234ABCD’)
Complex constants
Complex constant is used to specify the real or imaginary part of a complex constant.
Table 4 Example 2 Complex Constants
REAL,parameter :: pi = 3.14
COMPLEX,c :: = (0.0, pi)
Lengths of names and statements
The length of names has been increased to 63 characters and statements can now extend up to
256 lines.
Other features
This section lists the other features specific to HP Fortran3.3
Inline Assembly - FPREG usage
Itanium based HPUX Fortran compilers support the ability to specify certain machine instructions
at source level. Such instructions are inlined into the code stream emitted by the compiler.
Inline assembly support is desirable on Itanium based systems for the following reasons:
To allow efficient source level access to machine resources, such as Application registers,
Control Registers, and Processor Status Register.
To efficiently carry out low level operations such as synchronization, altering the cache state
and manipulating the register stack.
To directly exploit powerful instructions that would otherwise be difficult for the compiler to
automatically generate from source level constructs.
Extended double-precision support for selected intrinsic functions
Real*10 (corresponding to float80 in C) is now supported for selected intrinsic functions which
include some of math intrinsic functions. It is an extended double-precision format which helps to
ensure accuracy during long chains of computations involving double precision floating point
numbers.
What's New in This Version 7