| ??? 03/02/11 15:50 Read: times |
#181397 - Why is the code below cited for violation of MISRA 13.6 |
Why is the last code line (array element initialization) in the code below being cited for 13.6 violation by Crystal Revs MISRA checker:
"Numeric variables being used within a for loop for iteration counting shall not be modified in the body of the loop"
/*Test code for Crystal revs MISRA rule 13.6 */
typedef unsigned char uint8_t
void InitArray(void);
#define LCD_NUM_OF_COLS 2u
#define LCD_NUM_OF_ROWS 10u
uint8_t Test_Array[LCD_NUM_OF_COLS][LCD_NUM_OF_ROWS];
void InitArray(void)
{
uint8_t row_index = 0u;
uint8_t col_index = 0u;
for (col_index = 0u; col_index < LCD_NUM_OF_COLS; col_index++)
{
for (row_index=0u; row_index < LCD_NUM_OF_ROWS; row_index++)
{
/* make each element of the array the char NULL */
Test_Array[col_index][row_index] = 0u;
}
}
}
|
| Topic | Author | Date |
| Why is the code below cited for violation of MISRA 13.6 | 01/01/70 00:00 | |
| Double initialisation? | 01/01/70 00:00 | |
| Looks like bug | 01/01/70 00:00 | |
| Sorry, forgot to mention | 01/01/70 00:00 | |
| Now posted on MISRA forum: | 01/01/70 00:00 | |
Thank you | 01/01/70 00:00 |



