メインコンテンツ

Polyspace 解析で使用される C/C++ 言語規格

Polyspace® 解析は、コード コンパイルの特定の言語規格に従います。言語規格は、コンパイラの指定と共に、コードで使用できる言語の要素を定義します。たとえば、Polyspace 解析で C99 規格を使用する場合、threads.h のスレッド サポート ライブラリの使用など、C11 の機能はコンパイル エラーの原因になります。

サポートされている言語規格

Polyspace 解析は以下の規格をサポートしています。

  • C: C90、C99、C11、C17

    既定の規格はコンパイラの指定によって異なります。言語規格を変更するには、オプション [C 標準バージョン] (-c-version) を使用します。

  • C++: C++03、C++11、C++14、C++17、C++20

    既定の規格はコンパイラの指定によって異なります。言語標準を変更するには、オプション [C++ 標準バージョン] (-cpp-version) を使用します。

既定の言語規格

既定の言語規格は、オプション [コンパイル ツールチェーン (静的解析)] の指定によって異なります。

GCC コンパイラ

コンパイラC 標準C++ 規格
gnu3.4gnu4.6gnu4.7gnu4.8gnu4.9C99C++03
gnu5.x C11C++03
gnu6.x C11C++14
gnu7.x C11C++14
gnu8.x C17C++14
gnu9.x C17C++14
gnu10.x C17C++14
gnu11.x C17C++17
gnu12.x C17C++17
gnu13.x C17C++17

Clang コンパイラ

コンパイラC 標準C++ 規格
clang3.x C11

C++03

解析は一部の C++11 拡張を受け入れます。

clang4.x C11

C++03

解析は C++14 拡張を受け入れます。

clang5.x C11

C++03

解析は C++14 拡張を受け入れます。

clang6.x C11C++14
clang7.x C11C++14
clang8.x C11C++14
clang9.x C11C++14
clang10.x C11C++14
clang11.x C17C++14
clang12.x C17C++14
clang13.x C17C++14
clang14.x C17C++14
clang15.x C17C++14
clang16.x C17C++17

Visual Studio コンパイラ

コンパイラC 標準C++ 規格

visual9.0

visual10.0

visual11.0

visual12.0

C99C++03
visual14.0 C99C++14
visual15.x C99C++14
visual16.x C99C++14
visual17.x C99C++14

その他のコンパイラ

コンパイラC 標準C++ 規格
armcc C99C++03
armclang C11C++03
codewarrior C99C++03
cosmic C99サポートなし
diab C99C++03
generic C99C++03
greenhills C99C++03
iar C99C++03
iar-ew C99C++03
intel C99C++14
keil C99C++03
microchip C99サポートなし
renesas C99C++03
tasking C99C++03
ti C99C++03

参考

| |

トピック