[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:2004 Rules applicable to message 4604:

Rule  20.2  (Required) The names of standard library macros, objects and functions shall not be reused.


See also:

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