Running splint
matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c
Halts on this line:
__thread int cpfs_errno;
With a parse error:
cpfs.c:127:13: Parse Error: Non-function declaration: __thread : int. (For help on parse errors, see splint -help parseerrors.) *** Cannot continue.
Checking the documentation and gargle comes up with no mention of __thread
. However __thread
is part of the C99 spec, which Splint allegedly supports (insert reference).
What's going on here? How can I get splint to recognize __thread
?
From the splint FAQ, just add -D__thread=
to the splint command line. This will have the effect of removing the __thread
keyword from the code while splint is examining it. I'm assuming here that splint is not particularly thread aware, and wouldn't be able to use the information that was conveyed to GCC by the keyword.