呼び出されない関数の検出 (-uncalled-function-checks)
main 関数または別のエントリ ポイント関数から直接または間接的に呼び出されない関数の検出
説明
このオプションは Code Prover 解析のみに影響します。
実行時に main 関数または別のエントリ ポイント関数から直接または間接的に呼び出されない関数を検出します。
関数を呼び出せない理由には、以下のものがあります。
関数が実際に呼び出されていない。
呼び出しサイトがデッド コード内にある。
呼び出しサイトの前にレッド チェックがある。レッド チェックおよびオレンジ チェック以降の Code Prover 解析を参照してください。
呼び出しで関数ポインターが使用されていて、Polyspace がそのポインターで指している関数を判断できない。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [チェック動作] ノードを選択してから、このオプションを選択します。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [実行時エラー] 、 [チェック動作] ノードを選択してから、このオプションを選択します。
コマンド ラインとオプション ファイル: オプション
-uncalled-function-checksを使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
通常、検証後は Polyspace ユーザー インターフェイスの [ダッシュボード] ペインに、検証中に呼び出されなかったために解析されていない関数が表示されます。ただし、解析結果またはレポートには、それらが示されません。それらにコメントしたり、正当化することはできません。
これらの呼び出されていない関数を解析結果およびレポートに表示する場合は、このオプションを使用します。
設定
既定値: none
noneCode Prover 解析で、呼び出されない関数のチェックを除外します。
never-calledCode Prover 解析で、定義済みだが呼び出されない関数をチェックします。
called-from-unreachableCode Prover 解析で、定義済みでかつコードの到達不能箇所から呼び出される関数の有無をチェックします。
allCode Prover 解析で、次の条件に当てはまる関数の有無をチェックします。
定義済みだが呼び出されない
定義済みでかつコードの到達不能箇所から呼び出される
コマンド ライン情報
パラメーター: -uncalled-function-checks |
値: none | never-called | called-from-unreachable | all |
既定値: none |
例 (Code Prover): polyspace-code-prover -sources |
例 (Code Prover Server): polyspace-code-prover-server -sources |