![]() |
![]() |
1525 | ![]() |
||||
![]() | |||||||
| 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 |