Эта таблица предоставляет частичный список элементов языка 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) Для образца, | Нет. Polyspace проверяет определенные ошибки времени выполнения при использовании стандартных библиотечных функций. Проверка не распространяется на эти альтернативы. |
Анонимные структуры и объединения | Да |
Статическое объявление типа «assert» | Да |
Функции, связанные с обработкой ошибок, такие как | Нет. Если вы видите ошибки компиляции от использования этих |
quick_exit и at_quick_exit | Да. В Bug Finder функции зарегистрированы в |
CMPLX , CMPLXF и CMPLXL макрос | Да |
C standard version (-c-version)