Declares an uninitialized common or communal variable that is allocated by the linker.
Syntax
COMM [Language-Name] [Distance] Name[[Count]]:TypeName[:Size] [, ...]Remarks
The arguments to the COMM directive are as follows:
The allocated size of a communal variable is the largest size requested by all encountered references.
The allocation order with respect to the addresses of other global symbols is undefined; an application must not depend on the address of a communal variable being less than or greater than that of another global symbol.
A variable allocated with the COMM directive need not be declared in all referencing modules as communal; the linker matches all EXTERN/EXTRN references with that of the communal variable. Similarly, a variable allocated in one module with the PUBLIC directive may be declared in other modules as communal.
Since communal variables cannot be initialized and their address positions cannot be compared, use of the COMM directive is discouraged. The EXTERNDEF directive should be used instead.