Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!uunet!van-bc!jtc From: jtc@van-bc.wimsey.bc.ca (J.T. Conklin) Newsgroups: comp.lang.c Subject: Re: FlexeLint - replacement for lint - any reviews? Summary: I give FlexeLint high marks Keywords: lint Gimpel FlexeLint Message-ID: <1139@van-bc.wimsey.bc.ca> Date: 3 Jan 91 16:38:08 GMT References: <3424@anasaz.UUCP> Organization: UniFax Communications Inc., Vancouver, B.C., Canada Lines: 45 In article <3424@anasaz.UUCP> duane@anasaz.UUCP (Duane Morse) writes: >I read a review of a lint replacement called FlexeLint from Gimpel >Software, and am interested in reviews. Ostensibly it would get >around lint1's problem by growing dynamically (so says the literature), >and it is supposed to help find errors which lint doesn't. Are there >any FlexeLint users out there who would care to comment on the product? FlexeLint does have some compiled in defaults, but since its distributed in shrouded source form you can increase them and re-compile when you run up against those limits. I've linted some _huge_ programs and never had any problems. I bought FlexeLint about 6 months after I converted to ANSI C, as the lint I was using didn't understand function prototypes. It has been money well spent. The thing I like about FlexeLint is that each of the 500+ error messages can be turned off and on individually. They even can be tuned to be on or off depending on what function is being called. For example: -esym(534,printf,fprintf,sprintf) Tells lint not to bother telling me about the times I don't use the return value of printf, fprintf, or sprintf. Another nice thing it does is to check the arguments to printf and scanf against its format specification. This is very convienient, but oftentimes I use functions that call vprintf for error messages, etc. I have written Gimpel to suggest they implement the /* PRINTFLIKEn */ and /* SCANFLIKEn */ lint directives found in the SysV.4 make. Another wart I just discovered (see a followup posting I made in comp.unix.programmer) was that FlexeLint, like lint, does poor job when trying to determine whether a variable hasnot been set before used. Fortunately, gcc -Wall catches it, but FlexeLint is so good in all other respects, I expected better. --jtc -- J.T. Conklin jtc@wimsey.bc.ca, ...!{uunet,ubc-cs}!van-bc!jtc