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