[previous] 0630 [next] [U] More than one definition of '%s' (with external linkage).
Explicitly undefined REFERENCE - ISO:C90-6.7 External Definitions - Semantics

A global object or function has been defined more than once. It is possible to have multiple declarations, but there should only ever be one definition. Multiple definitions are not allowed, even if the definitions are identical.

For example:


/*PRQA S 2017,3211,3408 ++*/


int number=1;
/* ... */
int number=1;                   /* Message 0630 */


extern void foo(void)
{
}

extern void foo(void)           /* Message 0630 */
{
}


MISRA C:2012 Rules applicable to message 0630:

Rule-1.3  (Required) There shall be no occurrence of undefined or critical unspecified behaviour
Rule-8.6  (Required) An identifier with external linkage shall have exactly one external definition


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