typedef _Bool bool_t; void example ( void ) { bool_t data_available, flag_1, flag_2, flag; /* ----------------- Example code from MISRA C:2012 begin ----------------- */ while ( data_available ) process_data ( ); /* Non-compliant */ while ( data_available ) process_data ( ); /* Non-compliant */ servive_watchdog ( ); if ( flag_1 ) if ( flag_2 ) /* Non-compliant */ action_1 ( ); /* Non-compliant */ else action_2 ( ); /* Non-compliant */ if ( flag_1 ) { if ( flag_2 ) { action_1 ( ); } else { action_2 ( ); } } if ( flag_1 ) { action_1 ( ); } else if ( flag_2 ) /* Compliant */ { action_2 ( ); } else { ; } while ( flag ); /* Non-compliant */ { flag = fn ( ); } while ( !data_available ) /* Compliant */ { } /* ------------------ Example code from MISRA C:2012 end ------------------ */ }