The ATTRIBUTES directive option ALIGN specifies the byte alignment for variables and for allocatable or pointer components of derived types.
The ATTRIBUTES directive option ALLOCATABLE is provided for compatibility with older programs. It lets you delay allocation of storage for a particular declared entity until some point at run time when you explicitly call a routine that dynamically allocates storage for the entity.
The ATTRIBUTES directive option ALLOW_NULL enables a corresponding dummy argument to pass a NULL pointer (defined by a zero or the NULL intrinsic) by value for the argument.
The ATTRIBUTES directive option ARRAY_VISUALIZER enables more efficient memory sharing between the application and the Intel® Array Visualizer library.
The ATTRIBUTES directive options C and STDCALL specify procedure calling, naming, and argument passing conventions.
The ATTRIBUTES directive option CONCURRENCY_SAFE specifies that there are no unacceptable side effects and no illegal (or improperly synchronized) memory access interferences among multiple invocations of a routine or between an invocation of the specified routine and other statements in the program if they were executed concurrently.
The ATTRIBUTES direction option CVF tells the compiler to use calling conventions compatible with Compaq Visual Fortran* and Microsoft Fortran PowerStation.
The ATTRIBUTES directive option DECORATE specifies that the external name used in !DIR$ ALIAS or !DIR$ ATTRIBUTES ALIAS should have the prefix and postfix decorations performed on it that are associated with the platform and calling mechanism that is in effect. These are the same decorations performed on the procedure name when ALIAS is not specified, except that, on Linux* and OS X* systems, DECORATE does not add a trailing underscore signifying a Fortran procedure.
The ATTRIBUTES directive option DEFAULT overrides certain compiler options that can affect external routine and COMMON block declarations.
The ATTRIBUTES directive options DLLEXPORT and DLLIMPORT define a dynamic-link library's interface for processes that use them. The options can be assigned to module variables, COMMON blocks, and procedures. These directive options are available on Windows* and OS X* systems.