メインコンテンツ

MISRA C:2012 Rule 6.1

Bit-fields shall only be declared with an appropriate type

説明

ルール定義

Bit-fields shall only be declared with an appropriate type 1 .

根拠

int 型のビットフィールドは signed または unsigned のいずれかであるため、ビットフィールド型としての int の使用は処理系定義になります。

C90 では、動作が未定義であるため enumshort char またはビットフィールドの他のどの型の使用も許可されていません。

C99 では、実装によりビットフィールド宣言内で許可されている他の整数型を定義できます。

Polyspace 実装

チェッカーは、以下の許可された型以外のビットフィールド用のデータ型にフラグを設定します。

  • C90: signed int または unsigned int (または、これらの型に関連付ける typedef)

  • C99: signed intunsigned int、または _Bool (または、これらの型に関連付ける typedef)

結果は、解析で使用されている C 標準のバージョンによって異なります。C 標準バージョン (-c-version) を参照してください。

トラブルシューティング

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

チェック情報

グループ:
カテゴリ: 必要
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.