Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Why is the code below cited for violation of MISRA 13.6
#1
Why is the last code line (array element initialization) in the code below being cited for 13.6 violation by Crystal Revs MISRA checker:
Code:
/*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;    
            }    
        }
    }

thanks,
kalpak
<t></t>
Reply
#2
The code example does not appear to violate Rule 13.6. There is a missing ';' character at the end of the typedef but this would not explain the diagnostic message from your tool.

MISRA does not provide guidance on specific tools so you should contact your tool provider for an explanation.
Posted by and on behalf of the MISRA C Working Group
Reply
#3
Thanks,
that ";" was forgotten while creating a minimum demo code to test.
And even after adding that ";", the warning persists.
Unfortunately the vendor of Crystal Revs was informed of this 2 weeks ago but they have not replied yet.
<t></t>
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)