Page 1 of 1

Rule 8.9

Posted: Wed Feb 18, 2015 12:46 pm
by anuj1085
Below is my query:

# file1 a.c includes a # file 2 a.h
================================

#file2 a.h contains following code snippet
-------------------------------------------------------------
extern int eix;
static int siz;

eix and siz are not referenced from anywhere i.e. they are unused. So should the violation for this rule should be reported on these variables as well or the violation shoudl only be reported if the variable is used somewhere in the code.

Re: Rule 8.9

Posted: Fri Mar 13, 2015 8:30 am
by misra-c
These declarations do not violate rule 8.9, assuming that there are no other files in the system.

If the header file is included in other files, the following violations may occur.

static int siz;
Rule 8.9 is violated for each file that "siz" is used in only one function.
and
Rule 5.9 is violated if the header file is included in more than one file.

extern int eix;
Rule 8.7 is violated if "eix" is used in only one file.
and
Rule 8.9 is violated if used in only one function in that file.

It is assumed that the code has been written so that no other MISRA rules have been violated.