このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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)
を使用します。
既定の言語規格
既定の C 言語規格は、オプション [コンパイラ] (-compiler)
の指定によって異なります。
GCC コンパイラ
コンパイラ | C 標準 | C++ 規格 |
---|---|---|
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 | C17 | C++14 |
gnu9.x | C17 | C++14 |
gnu10.x | C17 | C++14 |
gnu11.x | C17 | C++17 |
gnu12.x | C17 | C++17 |
gnu13.x | C17 | C++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 | C11 | C++14 |
clang7.x | C11 | C++14 |
clang8.x | C11 | C++14 |
clang9.x | C11 | C++14 |
clang10.x | C11 | C++14 |
clang11.x | C17 | C++14 |
clang12.x | C17 | C++14 |
clang13.x | C17 | C++14 |
clang14.x | C17 | C++14 |
clang15.x | C17 | C++14 |
clang16.x | C17 | C++17 |
Visual Studio コンパイラ
コンパイラ | C 標準 | C++ 規格 |
---|---|---|
| C99 | C++03 |
visual14.0 | C99 | C++14 |
visual15.x | C99 | C++14 |
visual16.x | C99 | C++14 |
visual17.x | C99 | C++14 |
その他のコンパイラ
コンパイラ | C 標準 | C++ 規格 |
---|---|---|
armcc | C99 | C++03 |
armclang | C11 | C++03 |
codewarrior | C99 | C++03 |
cosmic | C99 | サポートなし |
diab | C99 | C++03 |
generic | C99 | C++03 |
greenhills | C99 | C++03 |
iar | C99 | C++03 |
iar-ew | C99 | C++03 |
intel | C99 | C++14 |
keil | C99 | C++03 |
microchip | C99 | サポートなし |
renesas | C99 | C++03 |
tasking | C99 | C++03 |
ti | C99 | C++03 |
参考
コンパイラ (-compiler)
| C 標準バージョン (-c-version)
| C++ 標準バージョン (-cpp-version)