Built-in functions perform utility operations that are useful in communicating with subprograms written in languages other than Fortran. See also Intrinsics.
1 – %LOC
%LOC (arg) Returns the internal address of a storage item. The argument can be a variable, an expression, or the name of a procedure. (It must not be the name of an internal procedure or statement function.) It can be of any data type. The result is an INTEGER*8 data type. In the case of global symbolic constants, %LOC returns the value of the constant rather than an address. The %LOC built-in function serves the same purpose as the LOC intrinsic.
2 – %REF
%REF (arg) Forces an actual argument in a CALL statement or function reference to be passed by reference: the address of the argument is passed to the subprogram. By default, Fortran passes all numeric values by reference.
3 – %VAL
%VAL (arg) Forces an actual argument in a CALL statement or function reference to be passed by value. The argument is passed as a 64-bit immediate value. If "arg" is integer (or logical) and less than 64 bits in size, it is sign-extended to a 64-bit value. When a complex argument is passed, two 64-bit values (one containing the real part, the other containing the imaginary part) are passed by immediate value.
4 – %DESCR
%DESCR (arg) Forces an actual argument in a CALL statement or function reference to be passed by descriptor: the address of a descriptor of the argument is passed to the subprogram. By default, Fortran passes all character values by descriptor.