MISRA C:2023 Rule 6.1
Bit-fields shall only be declared with an appropriate type
Since R2024a
Description
Rule Definition
Bit-fields shall only be declared with an appropriate type.
Rationale
Using int
for a bit-field type is implementation-defined because bit-fields
of type int
can be either signed
or
unsigned
.
The use of enum
, short char
,
or any other type of bit-field is not permitted in C90 because the
behavior is undefined.
In C99, the implementation can potentially define other integer types that are permitted in bit-field declarations.
Polyspace Implementation
The checker flags data types for bit-fields other than these allowed types:
C90:
signed int
orunsigned int
(ortypedef
-s that resolve to these types)C99:
signed int
,unsigned int
or_Bool
(ortypedef
-s that resolve to these types)
The results depend on the version of the C standard used in the analysis. See
C standard version
(-c-version)
.
Troubleshooting
If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Check Information
Group: Types |
Category: Required |
AGC Category: Required |
Version History
Introduced in R2024a