Стандарт языка C/C + +, используемый в анализе Polyspace

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++
genericC99C++ 03
gnu3.4, gnu4.6, gnu4.7, gnu4.8, gnu4.9C99C++ 03
gnu5.xC11C++ 03
gnu6.xC11C++ 14
gnu7.xC11C++ 14
gnu8.xC11C++ 14
clang3.xC99

C++ 03

Анализ принимает некоторые расширения C++ 11.

clang4.xC99

C++ 03

Анализ принимает расширения C++ 14.

clang5.xC99

C++ 03

Анализ принимает расширения C++ 14.

visual9.0, visual10.0, visual11.0, visual12.0C99C++ 03
visual14.0C99C++ 14
visual15.xC99C++ 14
visual16.xC99C++ 14
keilC99C++ 03
iarC99C++ 03
armccC99C++ 03
armclangC11C++ 03
codewarriorC99C++ 03
cosmicC99Не поддерживается
diabC99C++ 03
greenhillsC99C++ 03
iar-ewC99C++ 03
microchipC99Не поддерживается
renesasC99C++ 03
taskingC99C++ 03
tiC99C++ 03

См. также

| |

Похожие темы