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 |
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.
Unless otherwise stated, type is one of CHARACTER, INTEGER, REAL, DOUBLE, LOGICAL, BYTE, WORD, UBYTE, UWORD, LOCATOR or POINTER.