メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

許可されるプラグマ (-allowed-pragmas)

ドキュメント化されているプラグマ指令の指定

説明

MISRA C™:2004 Rule 3.4 または MISRA™ C++ Rule 16-6-1 によりフラグを設定しないプラグマ指令を指定します。これらのルールでは、すべてのプラグマ指令がドキュメント化されていることが求められています。

オプションの設定

以下のいずれかの方法を使用してオプションを設定します。

  • Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [コーディング規約およびコード メトリクス] ノードを選択してから、このオプションの値を入力します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。

  • Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [欠陥とコーディング規約][チェッカー動作] ノードを選択してから、このオプションの値を入力します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。

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

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

MISRA C:2004/MISRA AC AGC Rule 3.4 と MISRAC++ Rule 16-6-1 では、コンパイラのドキュメンテーション内ですべてのプラグマ指令がドキュメント化されていることが求められています。この解析オプションを使用してプラグマをドキュメント化されたものとしてリストする場合、Polyspace ではこれをルールの違反としてプラグマの使用にフラグを付けません。

設定

既定値なし

をクリックしてフィールドを追加します。コーディング ルールのチェック中に Polyspace で無視するプラグマ名を入力します。

依存関係

このオプションは、Polyspace ユーザー インターフェイスで次のいずれかのオプションが選択されている場合にのみ有効になります。

Polyspace Platform ユーザー インターフェイスのオプション [カスタム チェッカー ファイルを使用]

ヒント

引数を除くプラグマの名前のみを入力します。たとえば、以下のプラグマ pack を使用するとします。

#pragma pack(n)
このオプションの場合は、名前 pack のみを入力します。

コマンド ライン情報

パラメーター: -allowed-pragmas
値: pragma1[,pragma2[,...]]
例 (Bug Finder): polyspace-bug-finder -sources filename -misra-cpp required-rules -allowed-pragmas pragma_01,pragma_02
例 (Bug Finder Server): polyspace-bug-finder-server -sources filename -misra-cpp required-rules -allowed-pragmas pragma_01,pragma_02