I using the PCLint-Check 9.0L for a Project and got the current Error Message during a Lint-Check on all Lint-Object-Files(*.lob) of the Project:
The PCLInt Help manual explains here: Symbol 'Symbol' previously defined (Location) -- The named object has been defined a second time.
But there exists only the following definition on the whole Project inside the TSPlatforms.h at Line 90:
#define TS_IntDisable() TS_IntDisableAsm()
__asm TS_IntStatusType TS_IntDisableAsm(void)
{
.set noreorder
! "r3"
mfmsr r3
wrteei 0
.set reorder
}
The TSPlatforms.h is included several times in different C-Files of my project, but the code is of course wrapped in a redefinition protection:
#if (!defined TSPLATFORMS_H)
#define TSPLATFORMS_H
...
#endif
Has anyone a hint for me to identify the error?
Thanks! HJ
My guess: the code TS_IntDisableAsm()
is intended to be inlined. PCLint is not aware of that and thinks it is defined in multiple .c
files and that there will be a conflict when everything will be linked together.
Adding a static
keyword in front of your declaration should help.