[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