/* >>>------------------------------------------------------------ * * File: rule_14.6.c, Module: M2CM-3.2-QAC-8.1.2 * * RULE 14.6 (Required): * For any iteration statement there shall be at most one break * statement used for loop termination. * * Implemented by message: * 771 More than one 'break' statement has been used to * terminate this iteration statement. * * <<<------------------------------------------------------------ */ #include "misra.h" #include "m2cmex.h" extern S16 test_1406( void ) { S16 n; for ( n = 0; n < 5; n++ ) { if ( n > s16a ) { break; } switch (s16a) { case 1: ++s16b; break; case 2: if (s16b > s16a) { break; } ++s16b; break; default: break; } if ( n > (s16a - 2) ) { break; /* MISRA Violation */ } } return s16b; }