Эта таблица предоставляет частичный список элементов языка C, которые были введены начиная с C11 и соответствующей поддержки Polyspace®. Если ваш код содержит неподдерживаемые конструкции, Polyspace сообщает об ошибке компиляции.
Элемент языка C11 | Поддерживаемый |
---|---|
alignas и alignof макросы удобства | Да |
aligned_alloc функция | Да |
noreturn макросы удобства | Да |
Типовой выбор | Да |
Распараллельте вспомогательную библиотеку (threads.h ) | Да |
Атомарная библиотека операций (stdatomic.h ) | Да |
Атомарные типы с _Atomic | Да. Если вы используете компилятор Лязга, см. книгу ограничений для ограничений на атомарные типы данных. Смотрите Ограничения Верификации Polyspace (Polyspace Code Prover). |
UTF-16 и символьные утилиты UTF-32 | Да |
Связанная проверка взаимодействует через интерфейс или альтернативные версии стандартных библиотечных функций, которые проверяют на переполнение буфера (Приложение K C11) Например, | Нет. Polyspace проверяет на определенные ошибки времени выполнения в использовании стандартных библиотечных функций. Проверка не расширяет к этим альтернативам. |
Анонимные структуры и объединения | Да |
Статический утверждают объявление | Да |
Функции, связанные с обработкой ошибок, такие как | Нет. Если вы видите ошибки компиляции от использования их |
quick_exit и at_quick_exit | Да. В Bug Finder функции зарегистрированы с |
CMPLX , CMPLXF и CMPLXL макросы | Да |
C standard version (-c-version)