メインコンテンツ

次に対する結果を生成しない (-do-not-generate-results-for)

(削除済み) 解析結果が不要なファイルの指定

コーディング ルールとコード メトリクスにのみ適用されるこのオプションは、既に Code Prover から削除されています。代わりに、Bug Finder の [次に対する結果を生成しない] (-do-not-generate-results-for) を使用してください。詳細については、バージョン履歴を参照してください。

説明

解析結果が不要なファイルを指定します。

既定で、ヘッダー ファイルに関する結果は表示されません (ソース ファイルと同じフォルダーにない場合)。このオプションを使用して、一部のソース ファイル (またはソース ファイルと同じフォルダー内のヘッダー ファイル) からの結果も抑制できます。オプション [ソースおよび次に対する結果を生成する] (-generate-results-for) を使用して、一部のインクルード フォルダーに関する結果を表示する場合は、このオプションを使用して、一部のサブフォルダーまたはそれらのインクルード フォルダー内のファイルからの結果を抑制できます。

このオプションは、コーディング ルール違反とコード メトリクスにのみ適用されます。ソース ファイルとヘッダー ファイルの Code Prover 実行時チェックを非表示にすることはできません。

オプションの設定

ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成では、このオプションは [入力およびスタブ] ノードにあります。

コマンド ラインとオプション ファイル: オプション -do-not-generate-results-for を使用します。コマンド ライン情報を参照してください。

このオプションを使用する理由

最も関連性の高いヘッダー ファイルの結果を確認するには、このオプションを使用します。

たとえば、既定では、ソース ファイルと同じフォルダーにあるヘッダー ファイルについての結果が生成されます。これらのヘッダーでの調査結果をレビューしない場合、このオプションの既定値を変更します。

Polyspace as You Code での既定の動作では、非ソース フォルダーのヘッダーも解析されないことに注意してください。このオプションを使用することで、解析対象外ファイルのスコープを、すべてのヘッダーまたはヘッダーの別のサブセットにまで拡大できます。Polyspace as You Code の解析範囲 (Polyspace Access)も参照してください。

設定

既定値: include-folders

include-folders

インクルード フォルダー (およびそのサブフォルダー) 内のヘッダー ファイルに関する結果が生成されません。

インクルード フォルダーは、Polyspace® プロジェクトの Include フォルダーに追加する (または、コマンド ラインで引数 -I に指定する) フォルダーです。

インクルード フォルダーがソース フォルダーのサブフォルダーである場合、オプション値 [include-folders] を指定していても、そのインクルード フォルダーに含まれているファイルの結果が生成されます。この場合、オプション値 [custom] を使用して、無視するインクルード フォルダーを明示的に指定します。

all-headers

すべてのヘッダー ファイルの結果が生成されません。ヘッダー ファイルは、ソース ファイルと同じフォルダー、ソース ファイル フォルダーのサブフォルダー、インクルード フォルダーのいずれかにあります。

ソース ファイルは、Polyspace プロジェクトの Source フォルダーに追加する (または、コマンド ラインで引数 -sources に指定する) ファイルです。

インクルード フォルダーは、Polyspace プロジェクトの Include フォルダーに追加する (または、コマンド ラインで引数 -I に指定する) フォルダーです。

custom

指定したファイルの結果が生成されません。フォルダー名を入力すると、そのフォルダー (およびそのサブフォルダー) 内のファイルからの結果が抑制されます。

をクリックしてフィールドを追加します。ファイル名またはフォルダー名を入力します。

ヒント

  1. このオプションは、オプション [ソースおよび次に対する結果を生成する] (-generate-results-for) の適切な値と適宜組み合わせて使用します。

    [custom] を選択した際に、2 つのオプションの値が競合している場合は、より具体的な値によって結果の表示が決まります。たとえば、以下の例では、オプション [ソースおよび次に対する結果を生成する] の値の方が具体的です。

    ソースおよび次に対する結果を生成する次に対する結果を生成しない最終結果

    custom:

    C:\Includes\Custom_Library\

    custom:

    C:\Includes

    C:\Includes\Custom_Library\ とそのサブフォルダー内のヘッダー ファイルに関する結果は表示されますが、C:\Includes 内のその他のヘッダー ファイルに関する結果は生成されません。

    custom:

    C:\Includes\my_header.h

    custom:

    C:\Includes\

    C:\Includes\ にあるヘッダー ファイル my_header.h の結果は表示されますが、C:\Includes\ とそのサブフォルダーにあるその他のヘッダー ファイルの結果は生成されません。

    これら 2 つのオプションを組み合わせて使用すると、特定のフォルダーにあるすべてのファイルの結果を非表示にしながら、これらのフォルダーにある特定のファイルの結果を表示することができます。

  2. このオプションで [all-headers] を選択すると、オプション [ソースおよび次に対する結果を生成する] で指定した項目に関係なく、すべてのヘッダー ファイルの結果が非表示になります。

  3. 欠陥またはコーディング ルール違反が 2 つのファイルに関連している場合は、そのいずれかのファイルの結果を生成しなくても、欠陥またはルール違反は表示されます。たとえば、ファイル myFile.cpp および myFile.h で名前の見た目が似ている 2 つの変数を定義した場合、myFile.h の結果を生成しなくても、MISRA™ C++ ルール 2-10-1 に対する違反が報告されます。MISRA C++ ルール 2-10-1 によると、異なる識別子は文字列として明確に区別されなければなりません。

    次の結果は複数のファイルに関連する可能性があります。

     MISRA C:2004 ルール

     MISRA C:2012 命令およびルール

     MISRA C++ ルール

     JSF C++ ルール

     Polyspace Bug Finder の欠陥

  4. グローバル変数を宣言後一切使用していない場合、Code Prover の結果に未使用のグローバル変数として表示されます。ただし、検証結果を生成しないファイルで宣言が行われている場合、未使用の変数は検証結果に表示されません。

  5. 結果 (コーディング ルール違反または Bug Finder の欠陥) がマクロ内部にある場合、Polyspace は通常マクロの出現箇所ではなく、マクロ定義の結果を表示して、その結果を一度だけレビューできるようにします。マクロが非表示ファイルで使用されている場合でも、"非表示でないファイルでマクロ定義が行われている場合"、結果は依然としてマクロ定義に表示されます。

コマンド ライン情報

パラメーター: -do-not-generate-results-for
値: all-headers | include-folders | custom=file1[,file2[,...]] | custom=folder1[,folder2[,...]]
例 (Bug Finder): polyspace-bug-finder -lang c -sources file_name -misra2 required-rules -do-not-generate-results-for custom="C:\usr\include"
例 (Code Prover): polyspace-code-prover -lang c -sources file_name -misra2 required-rules -do-not-generate-results-for custom="C:\usr\include"
例 (Bug Finder Server): polyspace-bug-finder-server -lang c -sources file_name -misra2 required-rules -do-not-generate-results-for custom="C:\usr\include"
例 (Code Prover Server): polyspace-code-prover-server -lang c -sources file_name -misra2 required-rules -do-not-generate-results-for custom="C:\usr\include"

バージョン履歴

R2016a で導入

すべて展開する