Pragma Machine_Attribute (GNAT Reference Manual)

### 2.108 Pragma Machine_Attribute ¶

Syntax:

    pragma Machine_Attribute (
         [Entity         =>] LOCAL_NAME,
         [Attribute_Name =>] static_string_EXPRESSION
      [, [Info           =>] static_EXPRESSION {, static_EXPRESSION}] );

Machine-dependent attributes can be specified for types and/or declarations. This pragma is semantically equivalent to `__attribute__((attribute_name))` (if `info` is not specified) or `__attribute__((attribute_name(info)))` or `__attribute__((attribute_name(info,...)))` in GNU C, where ‘attribute_name’ is recognized by the compiler middle-end or the `TARGET_ATTRIBUTE_TABLE` machine specific macro. Note that a string literal for the optional parameter `info` or the following ones is transformed by default into an identifier, which may make this pragma unusable for some attributes. For further information see GNU Compiler Collection (GCC) Internals.