Поддерживаемые MCST __attribute__'ы
===================================

.. contents:: Содержание

.. Для автонумерации нужно использовать директиву
   .. sectnum::
   но она работает дебильно, т.к. автонумерует в том числе и заголовок документа

Общая информация
----------------

В данном документе описываются только собственные __attribute__'ы. Те __attribute__'ы, которые позаимствованы у gcc, описаны в статье :doc:`attribute_gnu`

Машинно-независимые __attribute__'ы
-----------------------------------

| ``__attribute__`` **((no_associative_math))**

  В будущем данный атрибут будет удалён из lcc (DEPRECATED). Вместо него используйте ``__attribute__`` **((optimize("-fno-associative-math")))**

| ``__attribute__`` **((no_fp_spec))**

  В будущем данный атрибут будет удалён из lcc (DEPRECATED). Вместо него используйте ``__attribute__`` **((optimize("-fno-spec-fp")))**

| ``__attribute__`` **((no_dam))**

  Запрет применения динамического разрыва зависимостей (DAM) в функции

| ``__attribute__`` **((no_caller_stack))**

  Запретить использование стека фактических параметров. Такой атрибут может использоваться только на тех функциях, где по программным соглашениям фактические параметры и возвращаемое значение передаются только на регистрах. Точка вызова такой функции вправе НЕ резервировать стек параметров, требуемых по программным соглашениям

E2K-зависимые __attribute__'ы
-----------------------------

| ``__attribute__`` **((check_stack))**

| ``__attribute__`` **((check_mem))**

| ``__attribute__`` **((avoid_stack))**

