I've been using lclint some more, and I managed to work around the header 
problem I discussed earlier on the mailing list.  I made a local copy of 
the offending headers and did a substitution on them to remove the 
extraneous spaces.  LCLint is now satisified with regards to the previous 
problem, but it seems to not like trigraphs at all.  It was stumbling over 
them in some other local header files, and I made a small test program to 
verify the problem.

Here's the program, compile output, and lclint output:

ANGIO@AQMVSOE ~> cat foo.c
#include <stdio.h>
??=include <math.h>

int main(void)
{
        return 0;
}
ANGIO@AQMVSOE ~> make foo
c89 -g -Wc,xplink -c foo.c
c89 -Wl,edit=no,xplink -o foo foo.o
rm -f foo.o
ANGIO@AQMVSOE ~> lclint foo.c
LCLint 3.0.0.17 --- 25 September 2001

foo.c:2:2: Parse Error. (For help on parse errors, see lclint -help
               parseerrors.)
*** Cannot continue.
ANGIO@AQMVSOE ~>
  

It seems that lclint doesn't like the trigraph "??=" which should be 
mapped to the character "#".   Any idea why this is, and is it a bug in 
lclint?  I've been commenting around the offending header blocks with 
#ifndef __LCLINT__ , but I think this may be a larger problem than I first 
realized.

Thanks for all the help so far.


Anthony Giorgio
DBX Developer
Phone: (845) 435-9115
Tie Line: 295-9115
Email: agiorgio AT us.ibm.com

"Thou shalt not follow the Null Pointer, for at its end Chaos and Madness 
lie."

Reply via email to