Pragma Common_Object (GNAT Reference Manual)

### 2.29 Pragma Common_Object ¶

Syntax:

    pragma Common_Object (
         [Internal =>] LOCAL_NAME
      [, [External =>] EXTERNAL_SYMBOL]
      [, [Size     =>] EXTERNAL_SYMBOL] );

    EXTERNAL_SYMBOL ::=
      IDENTIFIER
    | static_string_EXPRESSION

This pragma enables the shared use of variables stored in overlaid linker areas corresponding to the use of `COMMON` in Fortran. The single object `LOCAL_NAME` is assigned to the area designated by the `External` argument. You may define a record to correspond to a series of fields. The `Size` argument is syntax checked in GNAT, but otherwise ignored.

`Common_Object` is not supported on all platforms. If no support is available, then the code generator will issue a message indicating that the necessary attribute for implementation of this pragma is not available.