PSECT

General Compiler Directive: Modifies several characteristics of a common block.

Syntax

cDEC$ PSECT /common-name/ a [, a] ...

c
Is one of the following: C (or c), !, or *. (See Syntax Rules for General Directives.)


common-name
Is the name of the common block. The slashes ( / ) are required.


a
Is one of the following:


Rules and Behavior

Global or local scope is significant for an image that has more than one cluster. Program sections with the same name that are from different modules in different clusters are placed in separate clusters if local scope is in effect. They are placed in the same cluster if global scope is in effect.

If one program unit changes one or more characteristics of a common block, all other units that reference that common block must also change those characteristics in the same way.

Default characteristics apply if you do not modify them with a PSECT directive. The following table shows the default characteristics of common blocks and how they can be modified by PSECT:

Default Characteristics PSECT Modification
Relocatable  None 
Overlaid  None 
Global Scope  Global or local scope 
Not executable  None 
Not multilanguage  Multilanguage or not multilanguage 
Writable  Writable or not writable 
Readable  None 
No protection  None 
Octaword alignment 1 (4) VMS: 0 through 16 2
WNT and W9*: 0 through 6 3
U*X: 0 through 4 3
On Alpha processors: 
Not shareable  Shareable or not shareable 
Position dependent  None 
On ia32 processors: 
Shareable  Shareable or not shareable 
Position independent  None 
1 An address that is an integral multiple of 16.
2 Or keywords BYTE through PAGE.
3 Or keywords BYTE through OCTA.

See Also: General Compiler Directives