# Поддерживаемые GNU директивы #pragma

В данном документе описываются только те директивы #pragma, которые позаимствованы у gcc. Директивы #pragma, описанные в каких-либо стандартах, описаны в статье Поддерживаемые стандартные директивы #pragma. Собственные директивы #pragma и !dir$ описаны в статье Поддерживаемые MCST директивы #pragma и !dir$

Компилятор номинально совместим с gcc-9.3.0. Здесь мы перечислим ссылки на отдельные пункты из документации по gcc-9.3.0, посвящённые директивам #pragma, и описанием того, что из всего множества поддержано в lcc

- 6.62.9 Symbol-Renaming Pragmas

  Поддержано

- 6.62.10 Structure-Layout Pragmas

  Поддержано с ограничениями:
  - Отсутствует поддержка `#pragma ms_struct`
  - Отсутствует поддержка `#pragma scalar_storage_order`

- 6.62.11 Weak Pragmas

  Поддержано

- 6.62.12 Diagnostic Pragmas

  НЕ поддержано

- 6.62.13 Visibility Pragmas

  Поддержано

- 6.62.14 Push/Pop Macro Pragmas

  Поддержано

- 6.62.15 Function Specific Option Pragmas

  Поддержано с ограничениями:
  - Игнорируется `#pragma GCC target`

- 6.62.16 Loop-Specific Pragmas

  НЕ поддержано, т.к. имеются собственные аналоги