MISRA Discussion Forums

Full Version: Explicit size of array in declaration with external linkage?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Whenever you change the definition of an array, the corresponding declaration for external linkage may need to be adapted (different size of array). This is error-prone since the declaration usually is included in a file different from the file with the definition. As a consequence, the code becomes inconsistent and more difficult to understand.
Moreover, the size information in the declaration with external linkage is redundant. Compilers usually ignore it.
So what are the benefits of having rule 8.12 classified as a \"required\" rule?

Gavin McCall

MISRA-C Steering Team 2/11/2005

We would recommend the use of a macro to define the size of the array.
This macro can be used in the definition and in the declaration of the array.

Static analysis tools CAN use this information to identify array bounds violations.