メインコンテンツ

MISRA C:2023 Rule 2.3

A project should not contain unused type declarations

R2024a 以降

説明

このチェッカーは、既定の Polyspace® as You Code 解析では非アクティブにされますPolyspace as You Code 解析で非アクティブにされるチェッカー (Polyspace Access)を参照してください

ルール定義

A project should not contain unused type declarations 1 .

根拠

型が宣言されているが使用されない場合、レビュー担当者は型が冗長なのか手違いで使用されていないのかわかりません。

Polyspace 実装

Polyspace は、typedef がコード内で未使用のままになる場合、このルールの違反を報告します。

トラブルシューティング

ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。

すべて展開する

signed short unusedType (void){

    typedef signed short myType;   /* Non-compliant */
    return 67;

}

signed short usedType (void){

    typedef signed short myType;  /* Compliant */
    myType tempVar = 67;
    return tempVar;

}

この例では、関数 unusedTypetypedef ステートメントで新規のローカル型 myType が定義されています。しかしながら、この型が関数で使用されることはありません。したがって、ルール違反となります。

関数 usedType はルールに違反していません。新規の myType 型が使用されているからです。

チェック情報

グループ: 未使用コード
カテゴリ: 推奨
AGC カテゴリ: Readability

バージョン履歴

R2024a で導入


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.