Исключительные языковые особенности не должны использоваться
Исключительные языковые особенности не должны использоваться.
Некоторые новые языковые функции в C11 Standard имеют неопределенное, неопределенное или определяемое реализацией поведение. Эти функции также могут демонстрировать четко определенное поведение, которое противоречит ожиданиям разработчиков. Несмотря на то, что правило 1.3 и директива 1.1 запрещают неопределенное и определяемое реализацией поведение, во избежание четко определенного поведения, которое противоречит ожиданиям, некоторые языковые особенности суммарно не поощряются с помощью правила 1.4.
Правило запрещает использование следующих языковых функций:
_Generic оператор.
_Noreturn спецификатор функции и <stdnoreturn.h> файл заголовка
_Atomic спецификатор типа и средства, предоставляемые <stdatomic.h> (например, макросы, начинающиеся с ATOMIC_ и функции, начинающиеся с atomic_ реализовано как макросы в <stdatomic.h>).
_Thread_local спецификатор класса хранения и средства, предоставляемые <threads.h> (например, такие типы, как thrd_t и такие функции, как thrd_create).
_Alignas спецификатор выравнивания, _Alignof оператор и <stdalign.h> заголовочный файл и имеющиеся в нем средства (такие как alignas и alignof макросы).
Все объекты в Приложении K к Стандарту C11 о «интерфейсах проверки границ», кроме определения __STDC_WANT_LIB_EXT1__ в «0»
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Стандартная среда C |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |