// Example code from MISRA C:2012 begin typedef unsigned int UINT_16; struct s { unsigned int b1 : 2; /* Compliant */ int b2 : 2; /* Non-compliant - plain int not permitted */ UINT_16 b3 : 2; /* Compliant - typedef designating unsigned int */ signed long b4 : 2; /* Non-compliant even if long and int are the * same size */ }; // Example code from MISRA C:2012 end