Поддерживаемые GNU __attribute__’ы¶
Warning
На данный момент документ находится в процессе написания и является неполным
В данном документе описываются только те __attribute__’ы, которые позаимствованы у gcc. Собственные builtin’ы описаны в статье Поддерживаемые MCST __attribute__’ы
Компилятор номинально совместим с gcc-9.3.0. Здесь мы перечислим ссылки на отдельные пункты из документации по gcc-9.3.0, посвящённые __attribute__’ам, и описанием того, что из всего множества поддержано в lcc
6.33.1 Common Function Attributes
Поддержано с ограничениями:
- optimize (string, …)
- Поддержаны только следующие опции:
-O0,-O1,-O2,-O3,-O4,-Og,-Ominimal,-Osize,-Ofast-faligned,-fno-aligned-fassociative-math,-fno-associative-math-fcx-limited-range,-fno-cx-limited-range-fext-strict-aliasing,-fno-ext-strict-aliasing-ffast(без-fstdlib)-ffast-math-ffinite-math-only,-fno-finite-math-only-fforce-inline-finline-to-small-functions-floop-apb-conditional-loads,-fno-loop-apb-conditional-loads-fmalloc-opt,-fno-malloc-opt-fmath-errno,-fno-math-errno-fprefetch,-fno-prefetch-frestrict-all-frestrict-params-frounding-math,-fno-rounding-math-fsignaling-nans,-fno-signaling-nans-fspec-fp,-fno-spec-fp-fstrict-aliasing,-fno-strict-aliasing-funsafe-math-optimizations,-fno-unsafe-math-optimizationsОпции, не попадающие в этот список, но являющиеся поддерживаемыми в компиляторе опциями, начинающимися на -f, молча игнорируются
6.34.1 Common Variable Attributes
Поддержано с ограничениями:
- cleanup (cleanup_function)
- Поддержано только для языка C. Поддержан только вызов функции
cleanup_functionпри прямом выходе из функции. НЕ поддержан вызов функцииcleanup_functionпри прохождении исключения C++ через текущую функцию
