メンバー初期化チェックをスキップ (-no-constructors-init-check
)
クラス コンストラクターがクラス メンバーを初期化するかどうかをチェックしない
説明
このオプションは Code Prover 解析のみに影響します。
各クラス コンストラクターがすべてのクラス メンバーを初期化するかどうかを Polyspace® でチェックしないように指定します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [Code Prover 検証] ノードを選択してから、このオプションを選択します。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [実行時エラー] ノードを選択してから、このオプションを選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
コマンド ラインとオプション ファイル: オプション
-no-constructors-init-check
を使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
このオプションを使用して、コンストラクターでのクラス メンバー初期化のチェックを無効にします。
設定
オン
Polyspace は、各クラス コンストラクターがすべてのクラス メンバーを初期化するかどうかをチェックしません。
オフ (既定の設定)
Polyspace は、各クラス コンストラクターがすべてのクラス メンバーを初期化するかどうかをチェックします。次の項目の初期化がチェックされます。
int
、char
、enum
などの整数型を、signed
とunsigned
の両方についてfloat
およびdouble
などの浮動小数点型ポインター
解析では、生成された
main
で組み込み関数__ps_builtin_check_NIV()
および__ps_builtin_check_NIP()
を使用して、このようなチェックが実行されます。コンストラクターでクラス メンバーが初期化されていないことが Code Prover 解析で証明された場合、関数__ps_builtin_check_NIV()
への呼び出しでそのメンバーにレッド チェックが表示されます。解析で、コンストラクターでのクラス メンバーの明確な初期化または未初期化が証明できない場合、オレンジ チェックが表示されます。
依存関係
このオプションは、以下のすべてに該当する場合にのみ使用できます。
コードに
main
関数が含まれていない。[ソース コードの言語] (-lang)
を[CPP]
または[C-CPP]
に設定。[モジュールまたはライブラリの検証] (-main-generator)
が選択されている。
このオプションを選択する場合、[クラス] (-class-analyzer)
オプションを使用してクラスを指定しなければなりません。
コマンド ライン情報
パラメーター: -no-constructors-init-check |
既定値: オフ |
例 (Code Prover): polyspace-code-prover -sources |
例 (Code Prover Server): polyspace-code-prover-server -sources |