[previous] 4604 [next] The object/function '%1s' is being declared with the same name as an ordinary identifier defined in '<%2s>'.
Identifiers REFERENCE - ISO:C90-7.1.2.1 Reserved Identifiers, ISO:C99-7.1.3 Reserved Identifiers

This is a reserved identifier. It is the same as another ordinary identifier declared in the specified library header file.

This is dangerous if the declarations are not consistent. Even if they are, it may still be wiser to declare the identifier using the relevant library header file.

For example:


/*PRQA S 553,2017,3210,3447,3625 ++*/

extern void printf(char *buf);     /* Message 4604 - "printf" is declared as a function in <stdio.h>  */

extern int asin;                   /* Message 4604 - "asin"   is declared as a function in <math.h>   */

extern int div_t(void);            /* Message 4604 - "div_t"  is declared as a typedef  in <stdlib.h> */


MISRA C:2012 Rules applicable to message 4604:

Rule-21.2  (Required) A reserved identifier or macro name shall not be declared


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