In article <[EMAIL PROTECTED]> of Mon, 18 Mar 2002 15:31:21 in , Gerrit P. Haase <[EMAIL PROTECTED]> writes >Hi, > >I want to build splint on Cygwin, would be nice to have here;) > >I'm getting this error during compiletime: > >make[3]: Entering directory `/splint-3.0.1.6/src' >grep "FLG_" flags.def > Headers/flag_codes.gen >Compiling cgrammar.c... >Compiling cscanner.c... Did you cut lines here?
>make Did you cut lines here? >cgrammar.c: In function `yyparse': >cgrammar.c:3538: `FLG_TRYTORECOVER' undeclared (first use in this function) >cgrammar.c:3538: (Each undeclared identifier is reported only once >cgrammar.c:3538: for each function it appears in.) I shall try and help as you waited overnight for a response. As I am new to splint, please bear with any mistake I make. At line 1076 in my AIX Makefile and at the same place in the full windows archive, there is a rule which starts "@" to silence it. I suggest you make it noisy. I did so and remade cgrammar.o 08:19:28 05 url/http/www.splint.org/downloads/splint-3.0.1.6.sav/src : make cgrammar.o echo "Compiling "cgrammar.c"..."; \ source='cgrammar.c' object='cgrammar.o' libtool=no \ depfile='.deps/cgrammar.Po' tmpdepfile='.deps/cgrammar.TPo' \ depmode=aix ../config/depcomp \ c89 -D_ALL_SOURCE -DHAVE_CONFIG_H -I. -I. -I.. -IHeaders -g -qmaxmem=32768 qhalt=w -qflag=i:i -qsrcmsg -qdbxextra -qinitauto=cf -qro - qroconst -qsource -qshowinc -c `test -f cgrammar.c || echo './'`cgrammar.c Compiling cgrammar.c... 08:19:47 05 url/http/www.splint.org/downloads/splint-3.0.1.6.sav/src : The critical thing in that VERY long line is -IHeaders. ../config/depcomp is a script which - among other things - runs that long line. The grep line you show should have transferred FLG_TRYTORECOVER to Headers/flag_codes.gen : sed '/FLG_TRYTORECOVER/!d;=' flags.def Headers/flag_codes.gen 3527 FLG_TRYTORECOVER, 4581 FLG_TRYTORECOVER, 08:28:44 05 url/http/www.splint.org/downloads/splint-3.0.1.6.sav/src : The compilation should have picked up FLG_TRYTORECOVER. There follows a trimmed .LST file which attempts to show that FLG_TRYTORECOVER at Headers/flag_codes.h(378) is part of an anontmous enum whose definition starts at Headers/flag_codes.h(49) which is included from Headers/basic.h(33) which is included from cgrammar.c(280). C for AIX Compiler Version 4.3.0.0 --- cgrammar.c 03/19/02 08:19:43 (C) >>>>> SOURCE SECTION <<<<< 1 | /* [snip] 280 | # include "basic.h" 2 1 | /* [snip] 2 33 | # include "flag_codes.h" 49 1 | /* [snip] 49 17 | typedef enum 49 18 | { 49 19 | SKIP_FLAG = -2, 49 20 | INVALID_FLAG = -1, 49 21 | # include "flag_codes.gen" 50 1 | FLG_NULL, [snip] 50 378 | FLG_TRYTORECOVER, I hope that this description will allow you to diagnose your problem. My sed example above shows a spurious line number for the occurrence of FLG_TRYTORECOVER in Headers/flag_codes.h. -- Walter Briscoe