[previous] 1525 [next] Object/function with external linkage has same identifier as another object/function with internal linkage.
CMA maintenance checks

Cross module analysis has determined that objects or functions have been defined with the same name in different modules. One has external linkage and the other has internal linkage. This is quite legitimate, but not recommended because of the potential for confusion.

For example:

file1.cpp
=======
extern int contr;    // Message 1525 

file2.cpp
=======
static int contr;    // Message 1525 
Notice that if both identifiers are declared in the same module, behaviour would be undefined.


MISRA C:2012 Rules applicable to message 1525:

Rule-5.8  (Required) Identifiers that define objects or functions with external linkage shall be unique
Rule-5.9  (Advisory) Identifiers that define objects or functions with internal linkage should be unique


See also:

QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents