このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 Rule 2.1
A project shall not contain unreachable code
説明
ルール定義
A project shall not contain unreachable code 1 .
根拠
プログラムが未定義の動作を示さない限り、到達不能コードは実行されません。到達不能コードはプログラムの出力に影響を与えられません。到達不能コードの存在はプログラム ロジックにエラーがあることを示している可能性があります。コンパイラにより削除されない到達不能コードはリソースを無駄に使用します。次に例を示します。
ターゲット マシンのメモリ領域を占有する。
到達不能コードの存在により、到達不能コード周辺で制御を移行するときに、コンパイラはより長く時間のかかるジャンプ命令を選択する場合がある。
ループ内で、ループ全体が命令キャッシュに配置されない可能性がある。
Polyspace 実装
Polyspace® は、コード内のステートメントに到達できない場合に欠陥を報告します。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 未使用コード |
カテゴリ: 必要 |
AGC カテゴリ: 必要 |
バージョン履歴
R2014b で導入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.