[splint-discuss] bug with -load flag

Jay A. St. Pierre Jay.St.Pierre at Colorado.EDU
Sun Nov 2 23:56:16 EST 2003


On Sun, 2 Nov 2003, Jay A. St. Pierre wrote:

> On Sat, 1 Nov 2003, David Evans wrote:
> 
> > One (somewhat awkward) workaround would be to rename your
> > posix-rte library to replace the posix.lcd standard library, so
> > it would skip the headers like you want.  Another solution
> > would be to change the lcllib.c code to make the skip header
> > flags behave like you want (remove the &&
> > context_usingAnsiLibrary ()) clause on line 169.
> 
> I patched the code as you suggested and that appears to fix our 
> problem.

I spoke too soon.  For some reason, it is now picking up the file 
"uio.h" which is included by the file "limits.h".  This causes it 
to crash, since uio.h uses the type caddr_t which is defined in 
types/vxTypes.h, which is included by sys/types.h, which is in 
turn included by uio.h.  So splint is parsing uio.h but 
apparently not types/vxTypes.h.

The behavior is the same if instead of "patching" splint, I build 
a new posix.lcd that has my extensions and drop it into splint's 
installation.

So why does it parse uio.h but not vxTypes.h?  Is there any way
to figure out in what order splint is including files and which
files it is deciding to parse?  Or is there a way to generate the
preprocessed file that splint parses?

I've tried looking at the source code for splint, but I can't 
figure out where to start to debug this problem.

-Jay




More information about the splint-discuss mailing list