#include /* ----------------- Example code from MISRA C:2012 begin ----------------- */ uint16_t total ( uint16_t n, uint16_t a[ static 20 ] ) /* Non-compliant */ { uint16_t i; uint16_t sum = 0U; for ( i = 0U; i < n; ++i ) { sum = sum + a[ i ]; } return sum; } extern uint16_t v1[ 10 ]; extern uint16_t v2[ 20 ]; void g ( void ) { uint16_t x; x = total ( 10U, v1 ); x = total ( 20U, v2 ); } /* ------------------ Example code from MISRA C:2012 end ------------------ */