Explicit size of array in declaration with external linkage?

6.8 Declarations and Definitions

Moderators: misra-c, david ward

Posts: 1
Joined: Wed Jun 22, 2005 9:31 am

Explicit size of array in declaration with external linkage?

Post by stroelea » Thu Jun 23, 2005 3:45 pm

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
Posts: 72
Joined: Mon Sep 13, 2004 9:24 am

Post by Gavin McCall » Thu Nov 03, 2005 2:30 pm

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.
Gavin McCall
Personal view only.


Return to “6.8 Declarations and Definitions”