Polyspace® анализ соответствует определенному языковому стандарту для компиляции кода. Стандарт языка, наряду со спецификацией компилятора, определяет элементы языка, которые можно использовать в коде. Например, если в анализе Polyspace используется стандарт C99, C11 такие функции, как использование библиотеки поддержки потоков из threads.h
вызывает ошибки компиляции.
Анализ Polyspace поддерживает эти стандарты:
C: C90, C99, C11
Стандарт по умолчанию зависит от спецификации компилятора. Если вы явным образом не задаете компилятор, в анализе по умолчанию используется стандарт C99. Чтобы изменить стандарт языка, используйте опцию C standard version (-c-version)
.
C++: C++ 03, C++ 11, C++ 14
Стандарт по умолчанию зависит от спецификации компилятора. Если вы явным образом не задаете компилятор, в анализе по умолчанию используется стандарт C++ 03. Чтобы изменить стандарт языка, используйте опцию C++ standard version (-cpp-version)
.
Стандарт языка по умолчанию зависит от вашей спецификации для опции Compiler (-compiler)
.
Компилятор | Стандарт C | Стандарт C++ |
---|---|---|
generic | C99 | C++ 03 |
gnu3.4 , gnu4.6 , gnu4.7 , gnu4.8 , gnu4.9 | C99 | C++ 03 |
gnu5.x | C11 | C++ 03 |
gnu6.x | C11 | C++ 14 |
gnu7.x | C11 | C++ 14 |
gnu8.x | C11 | C++ 14 |
clang3.x | C99 | C++ 03 Анализ принимает некоторые расширения C++ 11. |
clang4.x | C99 | C++ 03 Анализ принимает расширения C++ 14. |
clang5.x | C99 | C++ 03 Анализ принимает расширения C++ 14. |
visual9.0 , visual10.0 , visual11.0 , visual12.0 | C99 | C++ 03 |
visual14.0 | C99 | C++ 14 |
visual15.x | C99 | C++ 14 |
visual16.x | C99 | C++ 14 |
keil | C99 | C++ 03 |
iar | C99 | C++ 03 |
armcc | C99 | C++ 03 |
armclang | C11 | C++ 03 |
codewarrior | C99 | C++ 03 |
cosmic | C99 | Не поддерживается |
diab | C99 | C++ 03 |
greenhills | C99 | C++ 03 |
iar-ew | C99 | C++ 03 |
microchip | C99 | Не поддерживается |
renesas | C99 | C++ 03 |
tasking | C99 | C++ 03 |
ti | C99 | C++ 03 |
C standard version (-c-version)
| C++ standard version (-cpp-version)
| Compiler (-compiler)