exponenta event banner

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

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

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

Да.

При использовании компилятора Clang ограничения на атомарные типы данных см. в книге ограничений. См. раздел Ограничения проверки Polyspace.

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

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

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

Нет.

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

Анонимные структуры и союзыДа
Статическое объявление утвержденияДа

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

Нет.

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

quick_exit и at_quick_exit

Да.

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

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

См. также

Связанные темы