C11 элементы языка, поддерживаемые в Polyspace

Эта таблица предоставляет частичный список элементов языка C, которые были введены с C11 года, и соответствующий Polyspace® поддержка. Если ваш код содержит не поддерживаемые конструкции, Polyspace сообщает об ошибке компиляции.

C11 элемент языкаПоддержанный
alignas и alignof удобные макросыДа
aligned_alloc функцияДа
noreturn удобные макросыДа
Типовой выборДа
Библиотека поддержки потоков (threads.h)Да
Библиотека атомарных операций (stdatomic.h)Да
Атомарные типы с _Atomic

Да.

Если вы используете компилятор Clang, смотрите книгу ограничений для ограничений на атомарные типы данных. Смотрите Ограничения Верификации Polyspace (Polyspace Code Prover).

UTF-16 и UTF-32 символа утилитыДа

Связанные-проверяющие интерфейсы или альтернативные версии стандартных библиотечных функций, которые проверяют переполнение буфера (Приложение K C11)

Для образца, strcpy_s является альтернативой strcpy который проверяет наличие некоторых ошибок в строковой копии.

Нет.

Polyspace проверяет определенные ошибки времени выполнения при использовании стандартных библиотечных функций. Проверка не распространяется на эти альтернативы.

Анонимные структуры и объединенияДа
Статическое объявление типа «assert»Да

Функции, связанные с обработкой ошибок, такие как errno_t и rsize_t typedef- s

Нет.

Если вы видите ошибки компиляции от использования этих typedef-s, явным образом укажите путь к заголовкам компилятора. Смотрите раздел «Предоставление заголовков стандартных библиотек для анализа Polyspace».

quick_exit и at_quick_exit

Да.

В Bug Finder функции зарегистрированы в at_quick_exit отображается как незакрытый.

CMPLX, CMPLXF и CMPLXL макросДа

См. также

Похожие темы