メインコンテンツ

AUTOSAR C++14 Rule M0-1-1

A project shall not contain unreachable code

説明

ルール定義

A project shall not contain unreachable code.

根拠

このルールは、ステートメントのグループが構文的な理由により到達不能な状況にフラグを設定します。たとえば、return ステートメントの後ろのコードは常に到達不能です。

到達不能コードには不要な保守が伴い、プログラミング エラーを示すことがよくあります。

Polyspace 実装

Polyspace® は、コード内のステートメントに到達できない場合に欠陥を報告します。

トラブルシューティング

ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

すべて展開する

int func(int arg) {
 int temp = 0;
 switch(arg) {
     temp = arg; // Noncompliant
     case 1:
     {
         break;
     }
     default:
     {
         break;
     }
 }
 return arg;
 arg++; // Noncompliant
}

以下のステートメントは到達不能です。

  • case または default ブロックに属さない switch ステートメント内のステートメント。

  • return ステートメントの後にあるステートメント。

チェック情報

グループ: 言語に依存しない問題
カテゴリ: Required、Automated

バージョン履歴

R2019a で導入