MISRA C++:2008 Rule 16-6-1
All uses of the #pragma directive shall be documented.
説明
ルール定義
All uses of the #pragma directive shall be documented. 1
根拠
#pragma 命令の動作は、使用しているソフトウェア、ハードウェア、およびコンパイラの組み合わせに応じて異なるため、開発者が #pragma 命令を使用する目的が不明瞭なことがあります。開発者の目的と #pragma 命令の想定される動作を明確に伝えるには、命令ごとに次の内容をドキュメント化します。
意味
予期される動作の詳細
コードに対する命令の影響
#pragma 命令の目的と、コードに及ぼす可能性がある影響について十分に理解していることを示すため、上記の内容を詳細にドキュメント化します。#pragma 命令の使用はできる限り避けてください。可能な場合は必ず、その使用を専用関数でカプセル化してください。
Polyspace 実装
このルールをチェックするには、オプション [許可されるプラグマ] (-allowed-pragmas) を使用してソース ファイルで許可されるプラグマをリストします。Polyspace® によって、許可されるプラグマ リストにないプラグマが検出された場合、違反になります。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
チェック情報
| グループ: Preprocessing Directives |
| カテゴリ: ドキュメント |
バージョン履歴
R2016b で導入
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.