[splint-discuss] Parse Error on "pthread.h" from Cygwin

Richard A. O'Keefe ok at cs.otago.ac.nz
Sun Sep 17 19:22:01 EDT 2006


I wrote:

	> On the Linux box I sometimes use, /usr/include/pthread.h line 79 is
	>   PTHREAD_PRIO_INHERIT,
	> which doesn't have a column 56.  Perhaps you could show us the entire
	> declaration where the problem is.

SF Markus Elfring <elfring at users.sourceforge.net> replied

	The header files are different between those operating systems and 
	environments.
	
which was EXACTLY my point; problem reports concerning system header
files are completely useless without extracting the relevant parts.

I also wrote:

	> The parser does not like and does not understand NON-STANDARD constructions
	> (where the standard is ANSI C89/ISO C90).  Everything else it understands.

because GCC-isms are a common cause of problems with system headers.

	Is this interface too new for the check?
	/*line 79:*/
                                                       v
int pthread_attr_getschedpolicy (const pthread_attr_t *, int *);
                                                       ^
If that's where the problem is, that suggests to me that
pthread_attr_t has not been declared.

	Does any developer/maintainer care that the analysis tool will achieve 
	conformance to current standards?

I'm not one of the developers nor yet a maintainer of splint.
I would very much like C99 support, but
(a) none of the compilers available to me on any of my machines
    claims full conformance to C99, so I can wait another year.
(b) many of the changes are library additions, and I can handle most
    of that myself by patching splint's view of the libraries on an
    ad hoc basis.  It would be better not to have to, of course.



More information about the splint-discuss mailing list