1 ## This file currently uses GNU Make features; those should really be replaced
2 ## by configure-time handling.
4 AUTOMAKE_OPTIONS = 1.5 foreign
6 ## Use this to configure diff output
11 #drl 3/27/2002 get the test suit to print a warning when splint is built under /usr/
14 ## Set up the splint commands
16 #SPLINT = valgrind --leak-resolution=high --num-callers=20 --show-reachable=no --leak-check=no $(top_builddir)/src/splint$(EXEEXT)
17 SPLINT = $(top_builddir)/src/splint$(EXEEXT)
19 ### These are shell-specific
20 ## unexport LARCH_PATH
21 ## unexport LCLIMPORTDIR
23 ### This is horrible! Can't we make top_builddir absolute?
24 #SPLINTNEST = valgrind --leak-resolution=high --num-callers=20 --show-reachable=no --leak-check=no ../$(top_builddir)/src/splint$(EXEEXT)
25 SPLINTNEST = ../$(top_builddir)/src/splint$(EXEEXT)
26 SPLINTPNEST = @$(SPLINTNEST) -nof
27 SPLINTP = @$(SPLINT) -nof
29 # Make sure .splintrc files are not used so test results do not
30 # depend on local settings.
31 SPLINTRN = $(SPLINTP) -hints -booltype "bool"
32 SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint
34 SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype "bool"
35 SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint
38 ### rcfiles not included becuase file names will not match exactly
43 abstptr abstract alias alttypes ansireserved argorder \
44 args arraydims arrayinit arraylit blocks break cases cast chararraylit charlit clauses commentchar compdestroy \
45 compoundliterals compoundstmt condifomit constannot controldepth csyntax czechnames czechoslovaknames deadparam \
46 decl divzero enum enumtag exports external fields flags forbody format freearray \
47 funcpointer functionmacro glob globals impabstract info init innerarray inparam internal iter keep libs \
48 linked lintcomments list longint loopexec looptesteffect \
49 macros macrosef malloc merge mergenull modifies modtest moduncon \
50 mongoincludes mystrncat noeffect null nullret nullassign numabstract observer oldstyle outglob outparam \
51 parentype postnotnull preds prefixes printflike rc refcounts release repexpose \
52 returned russian sharing shifts sizesigns slovaknames \
54 special stack staticarray strings \
56 structassign typequals typeof ud ulstypes union unioninit \
57 unnamedsu unreachable unsignedcompare \
58 unused ullint utypes void widestrings
59 UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))
61 SUBDIRTESTS = metastate mergestate tainted fileio \
62 simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \
63 maxset strchr sizeoftest for manual
65 ### warnuse doesn't work yet!
66 SUBDIRTESTS += tests2.2
67 SUBDIRTESTS += tests2.4
68 SUBDIRTESTS += tests2.5
69 SUBDIRTESTS += db1 db2 db3
71 SPLINTTESTS = $(UNITTESTS) $(SUBDIRTESTS)
80 -$(SPLINT) -help version
88 -@$(SPLINTP) +boolint +boolint
89 -@$(SPLINT) -help flags alpha
91 #commenting these out for the release because they will almost always fail
92 #since the default will only fit one system
93 #Don't want to panic the user...
94 # -@$(SPLINT) -help flags all | $(GREP) -v "^larchpath <path> " | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir <directory> "
95 # -@$(SPLINT) -help flags full | $(GREP) -v "^larchpath <path> " | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir <directory> "
96 # -@$(SPLINT) -help flags manual | $(GREP) -v "^larchpath <path> " | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir <directory> "
98 #larch and lclimportdir have different hardcoded default paths so don't include the path in the output..
103 -rm -f *~ #*# *.o *.lcs a.out
106 -cd db1; $(MAKE) clean
107 -cd db2; $(MAKE) clean
108 -cd db3; $(MAKE) clean
110 ## All tests need splint to be built
112 $(SPLINTTESTS): $(SPLINT)
115 cd $(top_builddir)/src; $(MAKE)
117 ## This is a kludgey way of processing the output to make it match exactly
118 ## The last matcher is the most annoying, as it can differ (the first two are
119 ## pretty much fixed); usually, you'll have 'make[1]:', but on DOS it is
120 ## 'make.exe[1]:' (it might even be 'c:/path/to/make.exe[1]:', but that's
122 ## The tests should really be re-done as shell-scripts or something... maybe
123 ## autotest could be used once it's finished.
125 CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" | $(GREP) -v "^gmake.*\[[1-9]*\]:" | $(GREP) -v "^gmake -e" | $(GREP) -v "^make -e" |$(GREP) -v "config.status: creating test/Makefile" | $(GREP) -v "cd .. && " | $(GREP) -v "CONFIG_HEADERS=" | $(GREP) -v "CONFIG_FILES="
127 #drl 12/07/2002 These rules for .c and .expect files don't make sense
128 # and they are confusing make dist so I'm taking them out.
133 # $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect
136 # $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out
139 #drl temporally take this out.
142 # @echo "Saving old expects..."; \
143 # cat *.expect >expects-`date +"%y-%m-%d-%H"`
144 # @for TEST in $(UNITTESTS) $(INTEGTESTS); do \
145 # echo "Making $$TEST.expect..."; \
146 # $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.expect; \
147 # cat $$TEST.expect; \
150 CheckSystemDir = (pwd | grep -q "/usr" && echo "Warning tests which not run correctly when splint is built in /usr or a subdirectory under /usr. Build splint in a different directory or disregard test failures." )
155 @for TEST in $(QUICKTESTS); do \
156 echo "Checking $$TEST..."; \
157 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
158 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
159 echo "*** FAIL ***"; \
164 @echo "Testing $(PACKAGE) $(VERSION)..."
166 @echo "Version Info:"
167 @$(SPLINT) -help version
168 @$(SPLINT) -help vars
172 @for TEST in $(SPLINTTESTS); do \
173 echo "Checking $$TEST..."; \
174 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
175 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
176 echo "*** FAIL ***"; \
179 ### Rules for tests start here
183 -$(SPLINTR) abstptr -expect 9
184 -$(SPLINTR) abstptr +voidabstract -expect 6
188 -$(SPLINTR) abst_t.lcl commentcmd.c -expect 15
193 -$(SPLINTR) mut alias +globalias -expect 19
194 -$(SPLINTR) mut alias2 +globalias -expect 17
195 -$(SPLINTR) +lh alias3 -expect 14
196 -$(SPLINTR) +lh alias4 +boolint
197 -$(SPLINTR) alias4 -pred +retalias -expect 6
198 -$(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5
202 -$(SPLINTR) alttypes.c -expect 2
205 ### evans 2001-06-07 - updated nameCheck.c to reflect C9X.
206 ### Reports one new errors for ansireserved.c - wctomb is bad even as a local
207 ### variable (could be a macro?)
208 ### Reports 3 additional errors for +checks; no longer suppresses name errors
209 ### in the presense of other errors.
214 -$(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9
215 -$(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
216 -$(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12
217 -$(SPLINTR) ansireserved2.c +ansireserved -expect 1
221 -$(SPLINTR) argorder.c -expect 4
222 -$(SPLINTR) argorder2 -expect 5
223 -$(SPLINTR) argorder3.c -expect 8
224 -$(SPLINTR) argorder4 -expect 9
225 -$(SPLINTR) argorder4 -evalorder -expect 1
226 -$(SPLINTR) argorder5.c +evalorderuncon -expect 3
230 -$(SPLINTR) args -noeffect -expect 12
234 -$(SPLINTR) arraydims.c -varuse -expect 2
235 -$(SPLINTR) arraydims.c -initsize -varuse
239 -$(SPLINTR) arrayinit.c -expect 9
243 -$(SPLINTR) arraylit.c -expect 2
244 -$(SPLINTR) arraylit.c +stringliteralsmaller -expect 4
248 -$(SPLINTR) blocks.c -expect 4
249 -$(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7
250 -$(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3
251 -$(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3
252 -$(SPLINTR) blocks.c +allempty -expect 6
253 -$(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
257 -$(SPLINTR) break.c -expect 4
258 -$(SPLINTR) break.c +deepbreak -expect 6
259 -$(SPLINTR) break.c +deepbreak -looploopbreak -expect 5
263 -$(SPLINTR) cases.c -expect 5
264 -$(SPLINTR) cases2.c -expect 2
265 -$(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
266 -$(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
270 -$(SPLINTR) cast -accessmodule -expect 20
271 -$(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
275 -$(SPLINTR) chararraylit.c -expect 2
277 ### Two addition errors detected with 2.5 with -numliteral.
279 ### evans 2002-12-15: finds one more but in charlit
282 -$(SPLINTR) +hints charlit.c -expect 4
283 -$(SPLINTR) +hints -numliteral charlit.c -expect 6
284 -$(SPLINTR) +hints charlit.c +charintliteral +ignoresigns -expect 1
288 -$(SPLINTR) clauses.c +memchecks -expect 4
289 -$(SPLINTR) clauses2.c +memchecks
290 -$(SPLINTR) clauses3.c +memchecks -expect 2
291 -$(SPLINTR) clauses3.c +memchecks +unixlib -expect 3
295 -$(SPLINTR) commentchar.c -expect 4
296 -$(SPLINTR) -commentchar '#' commentchar.c -expect 4
300 -$(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
301 -$(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
304 ### 1 extra warning reported for +strict now because of out-of-bounds read
309 -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
310 -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
311 -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
312 -$(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 4
314 .PHONY: compoundliterals
316 ${SPLINTRN} compoundliterals.c
320 ${SPLINTRN} compoundstmt.c -expect 3
324 ${SPLINTRN} -gnuextensions condifomit.c -expect 4
325 ${SPLINTRN} +gnuextensions condifomit.c -expect 1
329 ${SPLINTRN} constannot.c +boundswrite -exportlocal -expect 2
333 -$(SPLINTR) +quiet -incondefs csyntax.c -expect 1
334 -$(SPLINTR) +quiet csyntax2.c -expect 2
335 -$(SPLINTR) +quiet csyntax3.c -expect 1
336 -$(SPLINTR) +quiet -incondefs csyntax4.c
337 -$(SPLINTR) +quiet csyntax5.c
338 -$(SPLINTR) +quiet csyntax6.c
339 -$(SPLINTR) +quiet csyntax7.c
340 -$(SPLINTR) +quiet csyntax8.c
341 -$(SPLINTR) +quiet csyntax9.c
342 -$(SPLINTR) +quiet csyntax10.c
343 -$(SPLINTR) +quiet csyntax11.c
344 -$(SPLINTR) +quiet csyntax12.c
345 -$(SPLINTR) +quiet csyntax13.c -expect 1
346 -$(SPLINTR) +quiet csyntax14.c
347 -$(SPLINTR) +quiet csyntax15.c
348 -$(SPLINTR) +quiet csyntax16.c -expect 2
349 -$(SPLINTR) +quiet csyntax17.c -expect 3
353 -$(SPLINTR) czechnames.c
354 -$(SPLINTR) +hints +czech czechnames.c -expect 2
355 -$(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1
356 -$(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6
358 .PHONY: czechoslovaknames
360 -$(SPLINTR) +hints +czechoslovak czechnames.c -expect 1
361 -$(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1
362 -$(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2
365 ### deadparam added 2001-05-27
370 ${SPLINTR} deadparam.c -expect 3
373 # Was expect 3 before 2.4. Earlier versions did not handle implicit
374 # function pointers correctly.
379 -$(SPLINTR) decl.c -expect 2
380 -$(SPLINTRN) decl.c +strict -exportlocal -expect 6
381 -$(SPLINTR) decl2 -expect 4
385 -$(SPLINTR) divzero.c -varuse -expect 0
389 -$(SPLINTR) enum -expect 16
390 -$(SPLINTR) enum -misscase -expect 14
394 -$(SPLINTR) enumtag.c -expect 2
398 -$(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
399 -$(SPLINTR) exports.c +exportany -expect 3
400 -$(SPLINTR) exports.c
404 -$(SPLINTR) external.c +partial
405 -$(SPLINTR) external.c +partial +distinctexternalnames +ansi89limits -expect 2
406 -$(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3
407 -$(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
408 -$(SPLINTR) external.c +partial -externalnamelength 3 -expect 4
412 -$(SPLINTR) fields.c +memchecks -expect 6
413 -$(SPLINTR) fields2.c +memchecks -expect 5
414 -$(SPLINTR) fields3.c +memchecks
418 -$(SPLINTR) flags.c -expect 8
419 -$(SPLINTR) +nocomments flags.c -expect 2
425 ${SPLINTR} forbody.c -expect 2
430 ${SPLINTR} format.c -expect 3
431 ${SPLINTR} format.c -formatconst
433 # two new errors (invalid lhs)
437 -$(SPLINTR) +memchecks +noparams funcpointer.c -expect 18
439 .PHONY: functionmacro
441 -$(SPLINTR) functionmacro.c -expect 2
445 -$(SPLINTR) glob -expect 4
446 -$(SPLINTR) glob -globuse -expect 3
447 -$(SPLINTR) glob +globunspec -expect 6
451 -$(SPLINTR) -modifies globals.c -expect 5
452 -$(SPLINTR) -modifies globals.c +allglobals -expect 6
453 -$(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6
454 -$(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2
455 -$(SPLINTR) -modifies globals.c +globunspec -expect 6
456 -$(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8
461 -$(SPLINTR) -accessmodule impabstract.c
462 -$(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2
463 -$(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4
466 ### evans 2001-12-30: Handle unrecognized pre-processor directives
467 ### (Reported by Pierluigi Sanzani)
471 ${SPLINTR} info.c -expect 4
473 ### evans 2001-10-14: Expected errors updated
476 -$(SPLINTR) init.c -expect 14
477 -$(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17
482 -$(SPLINTR) innerarray.c -expect 10
488 -$(SPLINTR) inparam.c -expect 2
489 -$(SPLINTR) +impouts inparam.c -expect 1
493 -$(SPLINTR) internal.c -expect 1
494 -$(SPLINTR) internal.c +distinctinternalnames -expect 1
495 -$(SPLINTR) internal.c +distinctinternalnames +ansi89limits -expect 2
496 -$(SPLINTR) internal.c -internalnamelen 28 -expect 3
497 -$(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3
498 -$(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11
502 ### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6
507 -$(SPLINTR) iter -expect 14 -lclexpect 1
508 -$(SPLINTR) iter2.c -expect 12
512 -$(SPLINTR) keep.c +memchecks -expect 6
515 ### 2001-05-22: 2 new errors found (fixed spec of signal)
516 ### 2001-05-30: 3 new errors found (formatconst)
517 ### 2002-07-08: 2 new errors found (getc modifies errno)
521 -$(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18
522 -$(SPLINTR) libs.c -expect 22
523 -$(SPLINTR) libs.c +globunspec +modunspec -expect 25
524 -$(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 44
528 -$(SPLINTR) lintcomments.c -expect 5
529 -$(SPLINTR) lintcomments.c -warnlintcomments -expect 1
530 -$(SPLINTR) lintcomments.c -lintcomments -expect 4
534 -$(SPLINTR) list.c -expect 3
537 ### 2002-12-12: Added test case for +longint and +shortint flags
542 -$(SPLINTR) longint.c -expect 3
543 -$(SPLINTR) longint.c +longint -expect 2
544 -$(SPLINTR) longint.c +shortint -expect 2
545 -$(SPLINTR) longint.c +shortint +longint -expect 0
548 ### 2002-01-01: Added test case for obvious loop execution.
553 -$(SPLINTR) loopexec.c -expect 1
554 -$(SPLINTR) loopexec.c -obviousloopexec -expect 3
556 .PHONY: looptesteffect
558 -$(SPLINTR) looptesteffect.c -expect 1
562 -$(SPLINTR) macros -expect 17
563 -$(SPLINTR) macros.c +allmacros -expect 34
564 -$(SPLINTR) macros.c +fcnmacros -expect 31
569 -$(SPLINTR) macrosef -expect 4
570 -$(SPLINTR) macrosef.c +allmacros -expect 3
571 -$(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4
575 -$(SPLINTRN) malloc.c +bounds -exportlocal -expect 7
579 -$(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
583 -$(SPLINTRN) mergenull.c
587 -$(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
591 -$(SPLINTR) modtest -expect 10
592 -$(SPLINTR) modtest +modunspec -expect 13
593 -$(SPLINTR) modtest +mustmod -expect 14
597 -$(SPLINTR) moduncon.c +moduncon -memchecks -expect 4
598 -$(SPLINTRN) moduncon.c +strict +impboundsconstraints -exportlocal -expect 22
600 .PHONY: mongoincludes
602 -$(SPLINTR) mongoincludes.c -includenest 1 -expect 19
603 -$(SPLINTR) mongoincludes.c -includenest 2 -expect 10
604 -$(SPLINTR) mongoincludes.c -includenest 3 -expect 4
605 -$(SPLINTR) mongoincludes.c -includenest 4 -expect 1
606 -$(SPLINTR) mongoincludes.c -includenest 5 -expect 0
610 -$(SPLINTR) mystrncat.c +boundsread +boundswrite -expect 4
614 ${SPLINTP} noeffect.c +allmacros +checks -expect 3
617 ### 2002-01-01: null1.c: expect increased to 15 because out must be defined
618 ### checking detects one new error
623 -$(SPLINTR) null1.c -expect 15
624 -$(SPLINTR) null1.c -null -mustdefine -expect 4
625 -$(SPLINTR) null2.c -expect 11
626 -$(SPLINTR) null3.c -expect 15
627 -$(SPLINTR) null3.c +unixlib -expect 16
628 -$(SPLINTR) null4.c -expect 1
629 -$(SPLINTR) null5.c -expect 4
630 -$(SPLINTR) null6 -expect 4
631 -$(SPLINTR) +quiet null6.lcl -dump null6
632 -$(SPLINTR) null6.c -load null6 -expect 4
634 ### Added for 3.0 (bugs reported by Kevin Broady)
638 -$(SPLINTR) nullret.c -expect 2
639 -$(SPLINTR) -nullret nullret.c -expect 0
643 -$(SPLINTR) nullassign.c -expect 2
644 -$(SPLINTR) -nullassign nullassign.c -expect 1
647 ### Added for 3.1 - evans 2002-12-14
651 -$(SPLINTR) numabstract.c -expect 11
652 -$(SPLINTR) numabstract.c +numabstractlit -expect 9
653 -$(SPLINTR) numabstract.c -numabstractcast -expect 10
656 # Before 2.4, expected one more because error was reported both as
657 # dependent and observer.
662 -$(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9
663 -$(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8
664 -$(SPLINTR) observer.c -expect 7
668 -$(SPLINTR) oldstyle oldstyle2.c -expect 5
672 -$(SPLINTR) outglob -expect 10
676 -$(SPLINTR) outparam -expect 12
678 ### evans 2001-08-26: postnotnull new
682 ${SPLINTR} postnotnull.c -expect 1
684 ### evans 2002-02-09: added parentype.c
687 ${SPLINTR} parentype.c
690 # Four new +fcnuse errors for -strict (evans 2001-07-22)
695 -$(SPLINTR) +hints preds.c -expect 6
696 -$(SPLINTRN) +hints preds.c -weak -expect 1
697 -$(SPLINTRN) +hints preds.c -strict +impboundsconstraints -exportlocal -exportheader -expect 10
701 -$(SPLINTR) prefixes.c +partial
702 -$(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
703 -$(SPLINTR) prefixes.c -typeprefix "T" -expect 2
704 -$(SPLINTR) prefixes.c -typeprefix "^" -expect 1
705 -$(SPLINTR) prefixes.c -typeprefix "^*" -expect 2
706 -$(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2
707 -$(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2
708 -$(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7
709 -$(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4
710 -$(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5
711 -$(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5
712 -$(SPLINTR) prefixes.c -globalprefix "G" -expect 1
713 -$(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1
714 -$(SPLINTR) prefixes.c -externalprefix "G" -expect 5
715 -$(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
716 -$(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
720 -$(SPLINTR) printflike.c -expect 6
721 -$(SPLINTR) printflike.c -warnlintcomments -expect 5
725 -$(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
726 -$(SPLINTR) -DMYSTERY=12 rc.c -expect 1
727 -$(SPLINTR) -f rc1.splintrc rc.c -expect 1
728 -$(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1
729 -$(SPLINTR) -f rc3.splintrc rc.c -expect 1
733 cd rcfiles; ${MAKE} SPLINT="-$(SPLINTPNEST)"
737 -$(SPLINTR) refcounts.c -expect 7
741 -$(SPLINTR) release.c +memchecks -expect 1
745 -$(SPLINTR) +lh repexpose +memchecks -expect 12
746 -$(SPLINTR) repexpose +memchecks +retalias -expect 15
747 -$(SPLINTRN) repexpose +checks -exportlocal -expect 27
749 ### returned added 2001-05-27
750 ### (Bug discovered checking splint sources.)
754 ${SPLINTR} returned.c -expect 1
756 ### russian added 2003-06-07: bug reported in pre-processing non-standard characters.
763 -$(SPLINTR) sharing1.c -expect 21
764 -$(SPLINTR) sharing3.c -expect 3
765 -$(SPLINTR) sharing4.c -expect 13
766 -$(SPLINTR) sharing4.c -paramimptemp -expect 12
767 -$(SPLINTR) sharing5.c -expect 6
771 -$(SPLINTR) shifts.c -expect 4
772 -$(SPLINTR) shifts.c -shiftimplementation -expect 3
773 -$(SPLINTR) shifts.c -shiftnegative -expect 1
775 #drl comment this out until sizesigns is added to cvs
777 ### evans - added 2002-08-17: check warnings with arbitrary integral types
779 -$(SPLINTR) +strict sizesigns.c -expect 5
780 -$(SPLINTR) +strict +matchanyintegral sizesigns.c -expect 4
784 -$(SPLINTR) +hints slovaknames.c -expect 1
785 -$(SPLINTR) +hints slovaknames.c +accessslovak
786 -$(SPLINTR) +hints +slovak slovaknames.c -expect 3
787 -$(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
788 -$(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
791 ## evans 2002-07-22: 1 less warning for specclauses3.c because of NULL result
796 -$(SPLINTR) specclauses.c -expect 6
797 -$(SPLINTR) specclauses2.c -expect 8
798 -$(SPLINTR) specclauses3.c -expect 5
799 -$(SPLINTR) specclauses4.c -expect 3
800 -$(SPLINTR) specclauses5.c -expect 3
804 -$(SPLINTR) specclauses.c -expect 6
808 -$(SPLINTR) specclauses2.c -expect 8
812 -$(SPLINTR) specclauses3.c -expect 6
816 -$(SPLINTR) specclauses4.c -expect 3
820 -$(SPLINTR) specclauses5.c -expect 3
824 -$(SPLINTR) special -expect 20
825 -$(SPLINTR) special -relaxquals -expect 22
829 -$(SPLINTR) stack.c -expect 5
830 -$(SPLINTR) stack.c -stackref
834 -$(SPLINTR) staticarray.c -expect 3
837 ### evans 2002-03-16: Default setting of stringliteralnoroomfinalnull changed
840 .PHONY: stringliteral
842 -$(SPLINTR) stringliteral.c -stringliteralnoroomfinalnull -expect 3
843 -$(SPLINTR) stringliteral.c -expect 4
847 -$(SPLINTR) strings.c -expect 3
848 -$(SPLINTR) -readonlystrings -expect 1 strings.c
849 -$(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c
853 -$(SPLINTR) structassign.c -expect 4
857 -$(SPLINTR) typeof.c -expect 2
861 -$(SPLINTR) typequals.c tq.lcl -expect 5
862 -$(SPLINTR) typequals.c -expect 2
866 -$(SPLINTR) ud.c -expect 9
867 -$(SPLINTR) ud2 -specundef -expect 3
871 -$(SPLINTR) ulstypes.c -expect 8
872 -$(SPLINTR) ulstypes.c +ignorequals
873 -$(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28
875 # 3 more detected with version 2.5 (change in -numliteral setting)
879 -$(SPLINTR) +memchecks union.c -expect 8
882 ### Added 2001-12-30: fixed union initializer checking in response to
883 ### bug report from Jim Zelenka.
888 -$(SPLINTR) unioninit.c -expect 2
892 -$(SPLINTR) unnamedsu.c -expect 0
896 -$(SPLINTR) unreachable.c -expect 5
897 -$(SPLINTR) -unreachable unreachable.c -expect 2
898 -$(SPLINTR) switch.c -expect 4
900 .PHONY: unsignedcompare
902 ${SPLINTR} +posixlib unsignedcompare.c -expect 4
906 ### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks
911 -$(SPLINTRN) unused.c +checks -exportlocal -expect 5
912 -$(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8
915 ### 2001-06-10: Provided by Jim Zalenka
920 ${SPLINTRN} ullint.c -expect 5
921 ${SPLINTRN} ullint.c +charint +charintliteral -expect 2
924 ### 2001-12-30: Poor warnings reported by Peter Deutsch
926 ### 2002-07-03: removed warnings for datatype/macro definitions
931 ${SPLINTRN} utypes.c -expect 2
937 ${SPLINTRN} void.c -expect 2
940 ### 2001-12-30: Problems with wide character strings reported by Nelson Beebe
945 ${SPLINTRN} widestrings.c -expect 2
953 ${SPLINTR} linked.c -expect 4
954 ${SPLINTR} linked2.c -expect 3
955 ${SPLINTR} linked3.c -expect 5
956 ${SPLINTR} linked4.c -expect 6
957 ${SPLINTR} linked5.c -expect 4
958 ${SPLINTR} linked6.c -expect 4
962 ${SPLINTR} freearray.c -expect 1
966 -$(SPLINTR) +bounds sizeof.c -expect 1
971 -$(SPLINTR) +bounds buffertest1.c -expect 5
976 ## db2: 2 errors are no longer reported, since eref is immutable.
977 ## Need to clarify what it means for an object to be immutable;
978 ## there should be 2 types with different storage requirements.
980 .PHONY: $(SUBDIRTESTS)
982 cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)"
984 #drl 11/29/2001 This is a very ugly hack to get make dist to work
985 EXTRA_DIST = ./abst_t.lcl \
1015 ./db2/employee.lcl \
1029 ./rc3.splintrc.os2 \
1031 ./repexpose.lh.expect \
1037 ./db3/employee.lcl \
1048 ./globalbufferannotation/.splintrc \
1049 ./maxset/.splintrc \
1050 ./strchr/.splintrc \
1051 ./tests2.2/bool.lcl \
1052 ./tests2.4/subdir/main.lcl \
1093 ./compoundliterals.c ./compoundliterals.expect \
1094 ./compoundstmt.c ./compoundstmt.expect \
1116 ./czechoslovaknames.c \
1234 ./unsignedcompare.c \
1238 ./conditions/miroslaw.c \
1239 ./conditions/releases.c \
1241 ./fileio/filebranch.c \
1244 ./globalbufferannotation/globalvariable.c \
1245 ./maxset/maxsetannotations.c \
1246 ./maxset/maxsetnoannotations.c \
1247 ./mergestate/taintednm.c \
1248 ./metastate/file.c \
1249 ./metastate/file1.c \
1250 ./metastate/file2.c \
1251 ./metastate/file3.c \
1252 ./metastate/file4.c \
1253 ./metastate/file5.c \
1254 ./metastate/file6.c \
1255 ./metastate/file7.c \
1256 ./metastate/filebad.c \
1257 ./metastate/global.c \
1258 ./metastate/nullbranch.c \
1259 ./metastate/nullbranch2.c \
1260 ./metastate/nullret.c \
1262 ./metastate/sockets.c \
1263 ./metastate/sockets2.c \
1264 ./metastate/struct.c \
1265 ./metastate/test.c \
1266 ./metastate/voidptr.c \
1267 ./moreBufferTests/initialization.c \
1268 ./moreBufferTests/simplifyTest.c \
1269 ./moreBufferTests/strncatNotReallyGood.c \
1270 ./moreBufferTests/strncatReallyGood.c \
1271 ./moreBufferTests/strrchr.c \
1272 ./moreBufferTests/unrecogCall.c \
1273 ./nullterminatedtest/buggy1.c \
1274 ./nullterminatedtest/buggy_support1.c \
1275 ./nullterminatedtest/buggy_support_fmakeword.c \
1276 ./nullterminatedtest/test1.c \
1277 ./nullterminatedtest/test3.c \
1278 ./simplebufferConstraintTests/m.c \
1279 ./simplebufferConstraintTests/sizeof.c \
1280 ./simplebufferConstraintTests/test3.c \
1281 ./simplebufferConstraintTests/test7.c \
1282 ./sizeoftest/sizeof.c \
1283 ./sizeoftest/sizeofConst.c \
1284 ./sizeoftest/Makefile \
1286 ./suppressfile/test.c \
1287 ./tainted/sprintf.c \
1289 ./tainted/tainted.c \
1290 ./tainted/tainted2.c \
1291 ./tainted/tainted3.c \
1292 ./tainted/tainted4.c \
1293 ./tainted/tainted5.c \
1294 ./tainted/taintedimplicit.c \
1295 ./tainted/taintedmerge.c \
1296 ./tainted/taintedx.c \
1298 ./tclauses/globals.c \
1300 ./tclauses/modifies.c \
1301 ./tclauses/struct.c \
1302 ./tclauses/undef.c \
1303 ./tests2.2/arbints.c \
1304 ./tests2.2/arrayfcn.c \
1305 ./tests2.2/booldef.c \
1306 ./tests2.2/boolenum.c \
1307 ./tests2.2/boolops.c \
1308 ./tests2.2/break.c \
1309 ./tests2.2/bstring.c \
1311 ./tests2.2/enumbool.c \
1312 ./tests2.2/extension.c \
1313 ./tests2.2/libraries.c \
1314 ./tests2.2/modarray.c \
1315 ./tests2.2/nestext.c \
1316 ./tests2.2/offsetof.c \
1317 ./tests2.2/posix.c \
1318 ./tests2.2/realloc.c \
1320 ./tests2.2/sizeofarray.c \
1321 ./tests2.2/struct.c \
1322 ./tests2.2a/addassign.c \
1323 ./tests2.2a/arrayparam.c \
1324 ./tests2.2a/bitops.c \
1325 ./tests2.2a/boolcomp.c \
1326 ./tests2.2a/boolenum.c \
1327 ./tests2.2a/dobb.c \
1328 ./tests2.2a/duff.c \
1329 ./tests2.2a/erik.c \
1330 ./tests2.2a/floatdouble.c \
1331 ./tests2.2a/florian.c \
1332 ./tests2.2a/fred.c \
1333 ./tests2.2a/isalpha.c \
1334 ./tests2.2a/notreached.c \
1335 ./tests2.2a/obviousloop.c \
1336 ./tests2.2a/popik.c \
1337 ./tests2.2a/sizeof.c \
1338 ./tests2.2a/toralf.c \
1339 ./tests2.4/subdir/main.c \
1340 ./tests2.4/alignof.c \
1341 ./tests2.4/array.c \
1342 ./tests2.4/bitfields.c \
1347 ./tests2.4/cpptest.c \
1348 ./tests2.4/driverstub.c \
1349 ./tests2.4/duffs.c \
1350 ./tests2.4/emptycase.c \
1351 ./tests2.4/enumtest.c \
1352 ./tests2.4/error.c \
1354 ./tests2.4/flagequal.c \
1355 ./tests2.4/forward.c \
1357 ./tests2.4/hexconstants.c \
1358 ./tests2.4/innercomment.c \
1359 ./tests2.4/komazi.c \
1360 ./tests2.4/longlong.c \
1362 ./tests2.4/nothing.c \
1363 ./tests2.4/offsetof.c \
1364 ./tests2.4/print.c \
1366 ./tests2.4/syncomment.c \
1367 ./tests2.4/syslog.c \
1368 ./tests2.4/test0.c \
1369 ./tests2.4/test1.c \
1370 ./tests2.4/test2.c \
1371 ./tests2.4/timecard.c \
1372 ./tests2.4/toothman.c \
1373 ./tests2.4/ulrich.c \
1374 ./tests2.5/badcomment.c \
1375 ./tests2.5/boolbad.c \
1376 ./tests2.5/boolt.c \
1377 ./tests2.5/booltest.c \
1378 ./tests2.5/dummyfile.c \
1380 ./tests2.5/immutable.c \
1381 ./tests2.5/impabsmodule.c \
1382 ./tests2.5/literals.c \
1383 ./tests2.5/quals.c \
1385 ./tests2.5/testalt.c \
1386 ./tests2.5/testimmutable.c \
1387 ./tests2.5/uconstants.c \
1389 ./warnuse/warnflags.c \
1390 ./warnuse/warngets.c \
1391 ./warnuse/warnuse.c \
1392 ./moreBufferTests2/unknownsize.c \
1393 ./moreBufferTests2/arrayConstExpr.c \
1398 ansireserved.expect \
1404 branchstate.expect \
1409 chararraylit.expect \
1412 commentchar.expect \
1413 compdestroy.expect \
1415 controldepth.expect \
1418 czechoslovaknames.expect \
1435 funcpointer.expect \
1437 globalbufferannotation.expect \
1440 impabstract.expect \
1448 lintcomments.expect \
1450 longconstants.expect \
1460 mongoincludes.expect \
1461 moreBufferTests.expect \
1462 moreBufferTests2.expect \
1467 nullterminatedtest.expect \
1472 postnotnull.expect \
1480 repexpose.lh.expect \
1483 simplebufferConstraintTests.expect \
1486 slovaknames.expect \
1487 specclauses.expect \
1490 staticarray.expect \
1493 structassign.expect \
1506 unreachable.expect \
1507 unsignedcompare.expect \
1546 ./metastate/global.h \
1547 ./suppressfile/test.h \
1548 ./tests2.2/mbool.h \
1549 ./tests2.4/forward.h \
1551 ./tests2.4/timecard.h \
1553 ./tests2.5/bimbim.h \
1554 ./tests2.5/immutable.h \
1555 ./tests2.5/impabsmodule.h \
1556 ./tests2.5/socket.h \
1561 ./conditions/Makefile \
1564 ./globalbufferannotation/Makefile \
1566 ./mergestate/Makefile \
1567 ./metastate/Makefile \
1568 ./moreBufferTests/Makefile \
1569 ./simplebufferConstraintTests/Makefile \
1571 ./tainted/Makefile \
1573 ./tests2.2/Makefile \
1574 ./tests2.2/Makefile-tests2.2.os2 \
1575 ./tests2.4/Makefile \
1576 ./tests2.4/Makefile-tests2.4.os2 \
1577 ./tests2.5/Makefile \
1578 ./warnuse/Makefile \
1581 ./moreBufferTests2/Makefile \
1582 ./fileio/eof.mts ./fileio/file.mts ./fileio/filerw.mts ./mergestate/tainted.mts ./mergestate/taintednm.mts ./metastate/file.mts ./metastate/nullterminated.mts ./metastate/sockets.mts ./tainted/tainted-bad.mts ./tainted/tainted.mts ./fileio/file.xh ./fileio/filerw.xh ./mergestate/tainted.xh ./mergestate/taintednm.xh ./metastate/file.xh ./tainted/tainted.xh \
1583 db2.old-expect union.pp warnuse.old-expect \
1584 ./tests2.5/badcomment ./tests2.5/boolbad ./tests2.5/booltest ./tests2.5/uconstants loopexec.expect mergenull.expect shifts.expect looptesteffect.expect \
1585 unioninit.expect unioninit.c utypes.c \
1586 utypes.expect widestrings.expect widestrings.c \
1587 functionmacro.expect functionmacro.c info.c info.expect \
1588 longint.c loopexec.c looptesteffect.c mergenull.c shifts.c \
1589 longint.expect nullret.expect numabstract.expect \
1590 sizesigns.expect typeof.expect \
1591 manual.expect ./manual/Makefile \
1592 ./manual/annotglobs.c ./manual/bool.c ./manual/bool.h ./manual/clauses.c ./manual/employee.h ./manual/exposure.c ./manual/globals.c ./manual/ignore.c ./manual/implicit.c ./manual/intSet.h ./manual/list.c ./manual/loop.c ./manual/macros.c ./manual/modify.c ./manual/mstring.c ./manual/mstring.h ./manual/mstringnn.c ./manual/multiError.c ./manual/names.c ./manual/noeffect.c ./manual/null.c ./manual/only.c ./manual/order.c ./manual/palindrome.c ./manual/palindrome.h ./manual/refs.c ./manual/returned.c ./manual/rgb.c ./manual/rstring.c ./manual/rstring.h ./manual/sample.c ./manual/setChar.c ./manual/setname.c ./manual/setname.h ./manual/special.c ./manual/stack.c ./manual/sumsquares.c ./manual/switch.c ./manual/testpal.c ./manual/types.c ./manual/unique.c ./manual/usedef.c ./manual/bounds.c \
1593 arraydims.expect arraydims.c \
1594 moreBufferTests2/fixedArrayType.c oldstyle2.c \
1595 divzero.expect parentype.expect \
1596 divzero.c parentype.c \
1597 stringliteral.expect stringliteral.c \
1598 numabstract.c sizesigns.c typeof.c nullassign.expect
1600 # sizesigns.c sizesigns.expect \