HP Fortran Programmer's Reference (September 2007)

HP Fortran statements
INTRINSIC (statement and attribute)
Chapter 10394
Whenever an intrinsic name is passed as an actual argument and no other appearance of the
name in the same scoping unit indicates that it is a procedure, it must be specified by the
calling program in an INTRINSIC statement, or (if a function name) in a type declaration
statement that includes the INTRINSIC attribute.
Each name can appear only once in an INTRINSIC statement and in at most one INTRINSIC
statement within the same scoping unit. Also, a name cannot appear in both an EXTERNAL and
an INTRINSIC statement within the same scoping unit.
Examples
SUBROUTINE subr ! caller
DOUBLE PRECISION :: dsin,x,y,func
INTRINSIC dsin
...
y = func(dsin,x)
...
END SUBROUTINE subr
DOUBLE PRECISION FUNCTION func(proc,y) ! callee
DOUBLE PRECISION :: y, proc
...
func = proc(y)
...
END FUNCTION func
Related statements
EXTERNAL
Related concepts
For additional information about passing user-defined and intrinsic procedures as arguments,
see “Procedure dummy argument” on page 174. Intrinsic procedures are described in
“Intrinsic procedure specifications” on page 514.