メインコンテンツ

Polyspace でサポートされる C11 言語の要素

次の表には、C11 以降に導入された C 言語の要素と、対応する Polyspace® サポートの部分的なリストを示しています。サポートされていない設定がコードに含まれている場合、Polyspace ではコンパイル エラーがレポートされます。

C11 言語の要素サポートあり
alignas および alignof 簡易マクロはい
関数 aligned_allocはい
noreturn 簡易マクロはい
総称選択はい
スレッド サポート ライブラリ (threads.h)はい
アトミック操作ライブラリ (stdatomic.h)はい
_Atomic を使用したアトミック型

はい。

Clang コンパイラを使用する場合、アトミック データ型の制限については制限に関するドキュメンテーションを確認してください。Polyspace 検証の制限事項を参照してください。

UTF-16 および UTF-32 文字ユーティリティはい

バッファー オーバーフローをチェックする標準ライブラリ関数の範囲チェック インターフェイスまたは代替バージョン (C11 の Annex K)

たとえば、strcpy_s は、strcpy の代替となり、文字列コピーにおける特定のエラーをチェックします。

いいえ。

Polyspace は、標準ライブラリ関数の使用時に、特定のランタイム エラーをチェックします。このチェックはこれらの代替方法にまでは拡張されません。

無名構造体と共用体はい
静的アサート宣言はい

errno_trsize_t typedef などのエラー処理に関連する機能

いいえ。

これらの typedef の使用によるコンパイル エラーが表示される場合、コンパイラ ヘッダーへのパスを明示的に指定します。Polyspace 解析への標準ライブラリ ヘッダーの指定を参照してください。

quick_exit および at_quick_exit

はい。

Bug Finder では、at_quick_exit で登録された関数は呼び出されない関数として表示されます。

CMPLXCMPLXF、および CMPLXL マクロはい

参考

トピック