E Full Description of F77 Macros

 E.1 Generic Descriptions
 E.2 Specific Descriptions

This appendix contains a full description of each macro. It is in two sections: Generic Descriptions containing those macros which may be described generically for the various types and Specific Descriptions for those which need a specific description.

The effect of each macro is described and the expansion of the macro on each of the supported systems is given. The following classes are defined for the examples:



All systems All supported systems
All Unix All supported Unix systems


Not all the facilities listed here are available for VAX/VMS even if a VMS example is given. In some cases the macro expansions described here will not be correct for VAX/VMS. Consult the VMS Starlink documentation set for information on the VMS release.

N.B. It is important not to leave spaces around arguments in macros calls as these spaces are then included in the macro expansion on some systems, i.e. write F77_SUBROUTINE(fred), not F77_SUBROUTINE( fred ). This seems to be a bug in the offending compilers, but the problem is there none the less.

Many macros currently expand to an empty string on all currently supported systems. Nevertheless, the macros should still be used to guard against them being necessary on future systems.

E.1 Generic Descriptions

Unless otherwise stated, type is one of CHARACTER, INTEGER, REAL, DOUBLE, LOGICAL, BYTE, WORD, UBYTE, UWORD, LOCATOR or POINTER.