From ager1212 at gmx.net Thu Jul 1 02:15:54 2004 From: ager1212 at gmx.net (Aichwalder Gerald) Date: Wed Mar 22 17:10:36 2006 Subject: [splint-discuss] Splint Parse Error Message-ID: <007401c45f32$de397ed0$8c00000a@aichwalder> I get following Parse Error: C:\splint-3.1.1\bin\splint -f vc.splintrc d:\crecf\crecf.cpp Splint 3.1.1 --- 12 April 2003 C:\watcom\H\NT\rpcdcep.h(88,40): Parse Error: New function scope inside function. (For help on parse errors, see splint -help parseerrors.) *** Cannot continue. --- C:\watcom\H\NT\rpcdcep.h(88): DECLARE_STDCALL_P(void *) I_RpcAllocate(unsigned int); --- Compiler: OpenWatcom 1.2 --- vc.splintrc: -I. -D_M_IX86=400 -DWIN32 -D_NTSYSTEM -D_WIN32_WINNT=0x0400 -DWINVER=600 -DNOGDI -DNOKERNEL -DNOUSER -DWIN32_LEAN_AND_MEAN -likelybool -D__int64=long -D_int64=int -D_wtoi=atoi -DSTRICT -nestcomment -fileextensions -DDECLSPEC_NORETURN=__declspec(noreturn) What can I do to eliminate this error? - Gerald From tony at unetixs.com Tue Jul 6 13:35:34 2004 From: tony at unetixs.com (Tony Castillo) Date: Wed Mar 22 17:10:37 2006 Subject: [splint-discuss] implicitly dependent (should be unqualified) Message-ID: <40EAE2E6.884C435A@unetixs.com> The source file: //BEGIN SPLINT.C------------------------------------------------ typedef unsigned char ubyte1, *pubyte1; static const /*@observer@*/ pubyte1 g1 = (pubyte1) "Dear Mr. "; static const /*@observer@*/ pubyte1 g2 = (pubyte1) "Dear Mrs. "; static const /*@observer@*/ pubyte1 g3 = (pubyte1) "Dear Ms. "; static const /*@observer@*/ pubyte1 g4 = (pubyte1) "Dear "; static const /*@observer@*/ pubyte1 greetings[4] = {g1,g2,g3,g4}; void return_greeting(pubyte1 outbuf, int style) { /*@observer@*/ pubyte1 p = greetings[style & 3]; ubyte1 c; do { c = *p++; *outbuf++ = c; } while(c != (ubyte1)0); } //END SPLINT.C-------------------------------------------------- Gives the following output from SPLINT (WIN32) 3.1.1: splint.c: (in function return_greeting) splint.c(21,2): Storage greetings[] reachable from global is implicitly dependent (should be unqualified) Storage derivable from a parameter does not match the alias kind expected for the formal parameter. (Use -compmempass to inhibit warning) From kost at imn.htwk-leipzig.de Mon Jul 19 07:00:22 2004 From: kost at imn.htwk-leipzig.de (Stefan Kost) Date: Wed Mar 22 17:10:37 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: <4034B61C.6030401@imn.htwk-leipzig.de> References: <4034B61C.6030401@imn.htwk-leipzig.de> Message-ID: <40FBA9C6.5000300@imn.htwk-leipzig.de> I would like to refresh this issues. Has this been handled in CVS? If yes, what about a new release? I know a lot of people from the gnome familly that thought about using splint, but they all use glib (as this is a core library). It would be very good if splint could be made able to parse these headers. Stefan Stefan Kost wrote: > hi hi, > > splint fails here parsing headers from glib (see below) > ... > /opt/gnome2/include/glib-2.0/glib/gmessages.h:116:44: > Parameter list for #define is not parseable > /opt/gnome2/include/glib-2.0/glib/gmessages.h:125:44: > Invalid character in macro parameter name > /opt/gnome2/include/glib-2.0/glib/gmessages.h:125:44: > Parameter list for #define is not parseable > ... > > here is the part from the header file: > > #ifdef G_HAVE_ISO_VARARGS > #define g_error(...) g_log (G_LOG_DOMAIN, \ > G_LOG_LEVEL_ERROR, \ > __VA_ARGS__) > #define g_message(...) g_log (G_LOG_DOMAIN, \ > G_LOG_LEVEL_MESSAGE, \ > __VA_ARGS__) > #define g_critical(...) g_log (G_LOG_DOMAIN, \ > G_LOG_LEVEL_CRITICAL, \ > __VA_ARGS__) > #define g_warning(...) g_log (G_LOG_DOMAIN, \ > G_LOG_LEVEL_WARNING, \ > __VA_ARGS__) > #elif defined(G_HAVE_GNUC_VARARGS) > > I am not sure wheter it is about the multi-line stuff or the (...) stuff. > To workaround this I passes -UG_HAVE_ISO_VARARGS to splint to undef that symbol, > but that did not helped. > > Any ideas? > > Ciao > Stefan > > > ------------------------------------------------------------------------ > > _______________________________________________ > splint-discuss mailing list > splint-discuss@cs.virginia.edu > http://www.splint.org/mailman/listinfo/splint-discuss -- \|/ Stefan Kost <@ @> private business +-oOO-(_)-OOo------------------------------------------------------ - - - - - | __ Address Simildenstr. 5 HTWK Leipzig, Fb IMN, Postfach 301166 | /// 04277 Leipzig 04251 Leipzig | __ /// Germany Germany | \\\/// Phone +49341 2253538 +49341 30766101 | \__/ EMail st_kost_at_gmx.net kost_at_imn.htwk-leipzig.de | WWW www.sonicpulse.de www.imn.htwk-leipzig.de/~kost/about.html ===-=-=--=---=---------------------------------- - - - - - -------------- next part -------------- A non-text attachment was scrubbed... Name: kost.vcf Type: text/x-vcard Size: 345 bytes Desc: not available Url : http://www.cs.Virginia.EDU/pipermail/splint-discuss/attachments/20040719/734af062/kost.vcf From Martin at Krischik.com Tue Jul 20 06:49:39 2004 From: Martin at Krischik.com (Martin Krischik) Date: Wed Mar 22 17:10:37 2006 Subject: [splint-discuss] Possible out-of-bounds store Message-ID: <200407201249.43383.Martin@Krischik.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, Lets say I have struct Mess and Message a pointer to it. Now I want to clean the struct before freeing it: assert (Message != 0); memset ( /* s => */ Message, /* c => */ 0, /* n => */ sizeof *Message); free (Message); But I get an "Possible out-of-bounds store" on the memset. /*@requires maxSet(Message) >= sizeof (*Message) @*/ can't be parsed. And counting the bytes of a struct seem a rather wastefull exercise. Apart from the fact that there the allocation is 10 lines above: Message = calloc ( /* memb => */ sizeof *Message, /* size => */ (size_t) 1); Any Ideas? With Regards Martin - -- Martin Krischik Papenkamp 33 D-30539 Hannover Tel. 0511-5198556 mailto://Martin@krischik.com http://www.krischik.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA/PjHijwKaHyem9cRAiYfAKDRafJvhCd18+QMhg0Bhs2OC3WC0wCg+EeK aPnbG1v6NKviMOCPy2fbQ8M= =Rzvi -----END PGP SIGNATURE----- From krischik at users.sourceforge.net Wed Jul 21 06:17:30 2004 From: krischik at users.sourceforge.net (Martin Krischik) Date: Wed Mar 22 17:10:37 2006 Subject: [splint-discuss] /*@requires@*/ question. Message-ID: <200407211217.36239.krischik@users.sourceforge.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, I have got the follwing function. extern /*@external@*/ void Set_Parameter ( int Number, D_Long Parameter) /*@modifies internalState@*/ /*@modifies Message@*/ /*@requires maxSet (Message) == Number@*/ { assert (Number >= 0 && Number < 5); assert (Message != 0); Message -> Parm [Number] = Parameter; return; } However, I am not quite happy here and would rather have: // // Parameterliste des Zugriffs // extern /*@external@*/ void Set_Parameter ( int Number, D_Long Parameter) /*@modifies internalState@*/ /*@modifies Message@*/ /*@requires Number >= 0 /\ Number < 5@*/ { assert (Message != 0); Message -> Parm [Number] = Parameter; return; } This would save the assert in 99% of all cases. Any ideas? Martin - -- mailto://krischik@users.sourceforge.net http://www.ada.krischik.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA/kK/ijwKaHyem9cRAl/dAKDnCyKC8KXBFAUWn/UcE0XGOn4TwACgiSJT VfK0ZRgq0G7VdWKJCH9EcSk= =5HRY -----END PGP SIGNATURE----- From krischik at users.sourceforge.net Wed Jul 21 11:49:04 2004 From: krischik at users.sourceforge.net (Martin Krischik) Date: Wed Mar 22 17:10:37 2006 Subject: [splint-discuss] Released what memory? Message-ID: <200407211749.10313.krischik@users.sourceforge.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, me again: Having the following two lines: Net = calloc ( /* memb => */ sizeof *Net, /* size => */ (size_t) 1); Net->Name = strdup (Section); I get: Implicitly only storage Net->Name (type char *) not released before assignment: Net->Name = strdup(Section) Release what memory? The structure is freshly allocated. With Regards Martin - -- mailto://krischik@users.sourceforge.net http://www.ada.krischik.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA/pB2ijwKaHyem9cRAs9MAKDlJpRSoukVpnt88d34jb+V7Y3kRwCgxd3b aroXuGfZwIqxWq04qsgbOuU= =yMqw -----END PGP SIGNATURE----- From mike_diack at hotmail.com Fri Jul 23 03:28:21 2004 From: mike_diack at hotmail.com (Mike Diack) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] Re: splint-discuss Digest, Vol 6, Issue 6 References: <200407221600.i6MG0LPu011095@ares.cs.Virginia.EDU> Message-ID: Is this because strdup silently does a malloc also... Mike ----- Original Message ----- From: To: Sent: Thursday, July 22, 2004 5:00 PM Subject: splint-discuss Digest, Vol 6, Issue 6 > Send splint-discuss mailing list submissions to > splint-discuss@cs.virginia.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://www.splint.org/mailman/listinfo/splint-discuss > or, via email, send a message with subject or body 'help' to > splint-discuss-request@cs.virginia.edu > > You can reach the person managing the list at > splint-discuss-owner@cs.virginia.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of splint-discuss digest..." > > > Today's Topics: > > 1. Released what memory? (Martin Krischik) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 21 Jul 2004 17:49:04 +0200 > From: Martin Krischik > Subject: [splint-discuss] Released what memory? > To: splint-discuss@cs.virginia.edu > Message-ID: <200407211749.10313.krischik@users.sourceforge.net> > Content-Type: Text/Plain; charset="iso-8859-15" > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, > > me again: > > Having the following two lines: > > Net = calloc ( > /* memb => */ sizeof *Net, > /* size => */ (size_t) 1); > > Net->Name = strdup (Section); > > I get: > > Implicitly only storage Net->Name (type char *) not released before > assignment: > Net->Name = strdup(Section) > > Release what memory? The structure is freshly allocated. > > With Regards > > Martin > > - -- > mailto://krischik@users.sourceforge.net > http://www.ada.krischik.com > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.2 (GNU/Linux) > > iD8DBQFA/pB2ijwKaHyem9cRAs9MAKDlJpRSoukVpnt88d34jb+V7Y3kRwCgxd3b > aroXuGfZwIqxWq04qsgbOuU= > =yMqw > -----END PGP SIGNATURE----- > > > > ------------------------------ > > _______________________________________________ > splint-discuss mailing list > splint-discuss@cs.virginia.edu > http://www.splint.org/mailman/listinfo/splint-discuss > > > End of splint-discuss Digest, Vol 6, Issue 6 > ******************************************** > From Ralf.Wildenhues at gmx.de Mon Jul 26 05:23:29 2004 From: Ralf.Wildenhues at gmx.de (Ralf Wildenhues) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: <40FBA9C6.5000300@imn.htwk-leipzig.de> References: <4034B61C.6030401@imn.htwk-leipzig.de> <40FBA9C6.5000300@imn.htwk-leipzig.de> Message-ID: <20040726092329.GA14732@iam.uni-bonn.de> * Stefan Kost wrote on Mon, Jul 19, 2004 at 01:00:22PM CEST: > Stefan Kost wrote: > > > > splint fails here parsing headers from glib (see below) > > ... > > /opt/gnome2/include/glib-2.0/glib/gmessages.h:116:44: > > Parameter list for #define is not parseable *snip* > > here is the part from the header file: > > > > #ifdef G_HAVE_ISO_VARARGS > > #define g_error(...) g_log (G_LOG_DOMAIN, \ > > G_LOG_LEVEL_ERROR, \ > > __VA_ARGS__) *snip* > I would like to refresh this issues. Has this been handled in CVS? > If yes, what about a new release? I know a lot of people from the gnome familly > that thought about using splint, but they all use glib (as this is a core > library). It would be very good if splint could be made able to parse these headers. First, the problem are the __VA_ARGS__. Most C99 features are not available in splint. Why does it not work without the G_HAVE_ISO_VARARGS definition? There might be other problems lurking. In general, for good use of splint it is necessary either to write replacement headers for used external libraries or make their respective developers include splint annotation. Regarding C99 and splint development in general: Unfortunately the developers (I am not one of them) seem to have very little spare time, even for accepting or non-silently rejecting patches (3 changes in the public CVS since January). I find this very regrettable, but after having mails (bugreports, patches) silently ignored, I can not come to any other conclusion that their time/interest in the software has mostly gone. Regards, Ralf From evans at cs.virginia.edu Mon Jul 26 13:15:51 2004 From: evans at cs.virginia.edu (David Evans) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: <20040726092329.GA14732@iam.uni-bonn.de> References: <4034B61C.6030401@imn.htwk-leipzig.de> <40FBA9C6.5000300@imn.htwk-leipzig.de> <20040726092329.GA14732@iam.uni-bonn.de> Message-ID: On Mon, 26 Jul 2004, Ralf Wildenhues wrote: > Regarding C99 and splint development in general: Unfortunately the > developers (I am not one of them) seem to have very little spare time, > even for accepting or non-silently rejecting patches (3 changes in the > public CVS since January). I find this very regrettable, but after > having mails (bugreports, patches) silently ignored, I can not come to > any other conclusion that their time/interest in the software has mostly > gone. > Yes, its true that I have very little time these days for splint development. Our research interests have gone in other directions, but I do try to respond to splint mail as best I can (but get too much mail to always respond to everything right away, especially during the summer when I am travelling most of the time). I do have the patch you sent on my todo list, and will get to it eventually. We do welcome any contributions from the community to help maintain or develop splint, and would also be happy to hand off control to someone committed to developing it. Best, --- Dave From luke.w.imhoff at medtronic.com Mon Jul 26 13:44:08 2004 From: luke.w.imhoff at medtronic.com (Imhoff, Luke) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] newbie question: search path for source tree Message-ID: <59B9CBBED6EBDF4CB84259EEC828129D126FE5@MSPM1BMSGM14.ent.core.medtronic.com> Ok, this is probably just me being stupid for trying to get splint to work on Win2k thru cygwin, but I can't get splint to scan my source tree for includes. I'm trying to run: splint +checks +posixlib -I. device/*.c device/*.h diag/*.c diag/*.h drivers/*.c drivers/*.h lib/*.c lib/*.h my cwd is the src/application directory of my source tree (one level below the root) all the includes in the device c files should be under src/application so I thought -I. would search the current directory and it's children for the includes in the device c files, but splint keeps saying it can't find them on the search path. Do I need to expand '.' to the full path? -Luke Imhoff From winged__wolf at hotmail.com Mon Jul 26 17:04:57 2004 From: winged__wolf at hotmail.com (Aerowolf) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] newbie question: search path for source tree In-Reply-To: <59B9CBBED6EBDF4CB84259EEC828129D126FE5@MSPM1BMSGM14.ent.core.medtronic.com> Message-ID: Just like the standard compiler, -I tells the exact root of the directory to add to the list. If you have includes in ./include, you need to do -I./include. Split will not search all subdirs for your include files, it will search its built-in paths and any -I you specify, but it won't work recursively. -Kyle -----Original Message----- From: splint-discuss-bounces@cs.virginia.edu [mailto:splint-discuss-bounces@cs.virginia.edu] On Behalf Of Imhoff, Luke Sent: Monday, July 26, 2004 12:44 PM To: splint-discuss@cs.virginia.edu Subject: [splint-discuss] newbie question: search path for source tree Ok, this is probably just me being stupid for trying to get splint to work on Win2k thru cygwin, but I can't get splint to scan my source tree for includes. I'm trying to run: splint +checks +posixlib -I. device/*.c device/*.h diag/*.c diag/*.h drivers/*.c drivers/*.h lib/*.c lib/*.h my cwd is the src/application directory of my source tree (one level below the root) all the includes in the device c files should be under src/application so I thought -I. would search the current directory and it's children for the includes in the device c files, but splint keeps saying it can't find them on the search path. Do I need to expand '.' to the full path? -Luke Imhoff _______________________________________________ splint-discuss mailing list splint-discuss@cs.virginia.edu http://www.splint.org/mailman/listinfo/splint-discuss --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.726 / Virus Database: 481 - Release Date: 7/22/2004 From Ralf.Wildenhues at gmx.de Wed Jul 28 03:37:29 2004 From: Ralf.Wildenhues at gmx.de (Ralf Wildenhues) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: References: <4034B61C.6030401@imn.htwk-leipzig.de> <40FBA9C6.5000300@imn.htwk-leipzig.de> <20040726092329.GA14732@iam.uni-bonn.de> Message-ID: <20040728073729.GA4491@iam.uni-bonn.de> * David Evans wrote on Mon, Jul 26, 2004 at 07:15:51PM CEST: > On Mon, 26 Jul 2004, Ralf Wildenhues wrote: > > > Regarding C99 and splint development in general: Unfortunately the > > developers (I am not one of them) seem to have very little spare time, > > even for accepting or non-silently rejecting patches (3 changes in the > > public CVS since January). I find this very regrettable, but after > > having mails (bugreports, patches) silently ignored, I can not come to > > any other conclusion that their time/interest in the software has mostly > > gone. > > > > Yes, its true that I have very little time these days for splint > development. Our research interests have gone in other directions, but I > do try to respond to splint mail as best I can (but get too much mail to > always respond to everything right away, especially during the summer > when I am travelling most of the time). I do have the patch you sent on > my todo list, and will get to it eventually. We do welcome any > contributions from the community to help maintain or develop splint, and > would also be happy to hand off control to someone committed to developing > it. Thanks for your response. Surely it could be useful for splint to see more development happening. I would also be happy to see someone take on the development task. However, I surely would not qualify myself to do it, since I don't know splint enough by much and I could guarantee not to be able to do a long-time commitment. Seeing more patches accepted would however encourage me (and other people also, I'd guess) to help more if possible. Regards, Ralf From kost at imn.htwk-leipzig.de Thu Jul 29 07:42:55 2004 From: kost at imn.htwk-leipzig.de (Stefan Kost) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: <20040726092329.GA14732@iam.uni-bonn.de> References: <4034B61C.6030401@imn.htwk-leipzig.de> <40FBA9C6.5000300@imn.htwk-leipzig.de> <20040726092329.GA14732@iam.uni-bonn.de> Message-ID: <4108E2BF.2080102@imn.htwk-leipzig.de> Hi Ralf, Ralf Wildenhues wrote: > * Stefan Kost wrote on Mon, Jul 19, 2004 at 01:00:22PM CEST: > >>Stefan Kost wrote: >> >>>splint fails here parsing headers from glib (see below) >>>... >>>/opt/gnome2/include/glib-2.0/glib/gmessages.h:116:44: >>> Parameter list for #define is not parseable > > *snip* > >>>here is the part from the header file: >>> >>>#ifdef G_HAVE_ISO_VARARGS >>>#define g_error(...) g_log (G_LOG_DOMAIN, \ >>> G_LOG_LEVEL_ERROR, \ >>> __VA_ARGS__) > > *snip* > > >>I would like to refresh this issues. Has this been handled in CVS? >>If yes, what about a new release? I know a lot of people from the gnome familly >>that thought about using splint, but they all use glib (as this is a core >>library). It would be very good if splint could be made able to parse these headers. > > > First, the problem are the __VA_ARGS__. Most C99 features are not > available in splint. Why does it not work without the > G_HAVE_ISO_VARARGS definition? There might be other problems lurking. > If I recall right, splint was still trying to *parse* the section. > In general, for good use of splint it is necessary either to write > replacement headers for used external libraries or make their respective > developers include splint annotation. I have no problem editing my onw headers, but I think I am not powerful enought to persuade the glib developers to add split markup to their headers. I am trying to avoid to patch their headers as this would mean significant overhead when trying to be up-to-date with the releases. > > Regarding C99 and splint development in general: Unfortunately the > developers (I am not one of them) seem to have very little spare time, > even for accepting or non-silently rejecting patches (3 changes in the > public CVS since January). I find this very regrettable, but after > having mails (bugreports, patches) silently ignored, I can not come to > any other conclusion that their time/interest in the software has mostly > gone. > That unfortunate, maybe it would be good to move it to e.g. sourceforge.net. Anyway it would need someone that take project leadership ... Stefan -- \|/ Stefan Kost <@ @> private business +-oOO-(_)-OOo------------------------------------------------------ - - - - - | __ Address Simildenstr. 5 HTWK Leipzig, Fb IMN, Postfach 301166 | /// 04277 Leipzig 04251 Leipzig | __ /// Germany Germany | \\\/// Phone +49341 2253538 +49341 30766101 | \__/ EMail st_kost_at_gmx.net kost_at_imn.htwk-leipzig.de | WWW www.sonicpulse.de www.imn.htwk-leipzig.de/~kost/about.html ===-=-=--=---=---------------------------------- - - - - - -------------- next part -------------- A non-text attachment was scrubbed... Name: kost.vcf Type: text/x-vcard Size: 345 bytes Desc: not available Url : http://www.cs.Virginia.EDU/pipermail/splint-discuss/attachments/20040729/b4f0c3c8/kost.vcf From Ralf.Wildenhues at gmx.de Thu Jul 29 10:22:26 2004 From: Ralf.Wildenhues at gmx.de (Ralf Wildenhues) Date: Wed Mar 22 17:10:38 2006 Subject: [splint-discuss] varargs in glib header files In-Reply-To: <4108E2BF.2080102@imn.htwk-leipzig.de> References: <4034B61C.6030401@imn.htwk-leipzig.de> <40FBA9C6.5000300@imn.htwk-leipzig.de> <20040726092329.GA14732@iam.uni-bonn.de> <4108E2BF.2080102@imn.htwk-leipzig.de> Message-ID: <20040729142226.GA13566@iam.uni-bonn.de> * Stefan Kost wrote on Thu, Jul 29, 2004 at 01:42:55PM CEST: > Ralf Wildenhues wrote: > > * Stefan Kost wrote on Mon, Jul 19, 2004 at 01:00:22PM CEST: > >>Stefan Kost wrote: > >> > >>>splint fails here parsing headers from glib (see below) > >>>... > >>>#ifdef G_HAVE_ISO_VARARGS > >>>#define g_error(...) g_log (G_LOG_DOMAIN, \ > >>> G_LOG_LEVEL_ERROR, \ > >>> __VA_ARGS__) > > > > > > First, the problem are the __VA_ARGS__. Most C99 features are not > > available in splint. Why does it not work without the > > G_HAVE_ISO_VARARGS definition? There might be other problems lurking. > > > If I recall right, splint was still trying to *parse* the section. Can you confirm this with a small testcase? That would IMHO be a splint bug then. > > In general, for good use of splint it is necessary either to write > > replacement headers for used external libraries or make their respective > > developers include splint annotation. > I have no problem editing my onw headers, but I think I am not powerful enought > to persuade the glib developers to add split markup to their headers. > I am trying to avoid to patch their headers as this would mean significant > overhead when trying to be up-to-date with the releases. Well, some projects could be convinced to use splint annotations in their headers, so I'd give that option a try. As for having separate headers: You don't have to stay up to date very much /in case/ there is a well-defined interface. Because then you can just code that interface in your replacement header and leave all the implementation details out. FWIW, I have done this before for very stable interfaces (e.g. for MPI; parts of pcre; the non-pragma part of OpenMP). In case of public interest, it could be helpful to have a public repository of such interface replacements for splint as well (I understand that not all such headers can or should be distributed with the splint source, but a contrib package might be interesting). > > Regarding C99 and splint development in general: Unfortunately the > > developers (I am not one of them) seem to have very little spare time, *snip* > That unfortunate, maybe it would be good to move it to e.g. sourceforge.net. > Anyway it would need someone that take project leadership ... Well, the CVS repo is at sourceforge already. Are there any long-time splint contributors or people who are otherwise familiar with the internals of the splint source reading this? Regards, Ralf -- Note that I won't be reading my email regularly until the end of August.