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
9 ## Set up the splint commands
11 SPLINT = $(top_builddir)/src/splint$(EXEEXT)
17 ### This is horrible! Can't we make top_builddir absolute?
18 SPLINTNEST = ../$(top_builddir)/src/splint$(EXEEXT)
20 SPLINTPNEST = @$(SPLINTNEST) -nof
21 SPLINTP = @$(SPLINT) -nof
23 # Make sure .splintrc files are not used so test results do not
24 # depend on local settings.
25 SPLINTRN = $(SPLINTP) -hints -booltype "bool"
26 SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint
28 SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype "bool"
29 SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint
31 ## Currently disabled tests:
32 ## fileio tainted mergestate nullret nullassign warnuse metastate \
33 ## nullret nullassign warnuse
36 ### rcfiles not included becuase file names will not match exactly
41 fileio tainted mergestate metastate sizeof buffertest \
42 tests2.2 tests2.4 tests2.5 \
43 simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \
45 abstptr abstract alias alttypes ansireserved argorder \
46 args blocks break cases cast charlit clauses commentchar compdestroy \
47 constannot controldepth csyntax czechnames czechoslovaknames deadparam \
48 decl enum exports external fields flags forbody format freearray \
49 funcpointer functionmacro glob globals impabstract info init inparam internal iter keep libs \
50 linked lintcomments list macros macrosef merge mergenull modifies modtest moduncon \
51 mongoincludes mystrncat noeffect null observer oldstyle outglob outparam \
52 postnotnull preds prefixes printflike rc refcounts release repexpose \
53 returned sharing slovaknames specclauses special stack staticarray strings \
54 structassign typequals ud ulstypes union unioninit unreachable unsignedcompare \
55 unused ullint utypes void widestrings
56 UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))
58 INTEGTESTS = db1 db2 db3
59 INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS))
61 SPLINTTESTS = $(UNITTESTS) $(INTEGTESTS)
70 -$(SPLINTP) -help version
75 -@LARCH_PATH=/dev/null; $(SPLINT) -nof empty.lcl
78 -@$(SPLINTP) +boolint +boolint
79 -@$(SPLINTP) -help flags alpha
80 -@$(SPLINTP) -help flags all
84 -rm -f *~ #*# *.o *.lcs a.out
85 -cd db1; $(MAKE) clean
86 -cd db2; $(MAKE) clean
87 -cd db3; $(MAKE) clean
89 ## All tests need splint to be built
91 $(SPLINTTESTS): $(SPLINT)
94 cd $(top_builddir)/src; $(MAKE)
96 ## This is a kludgey way of processing the output to make it match exactly
97 ## The last matcher is the most annoying, as it can differ (the first two are
98 ## pretty much fixed); usually, you'll have 'make[1]:', but on DOS it is
99 ## 'make.exe[1]:' (it might even be 'c:/path/to/make.exe[1]:', but that's
101 ## The tests should really be re-done as shell-scripts or something... maybe
102 ## autotest could be used once it's finished.
104 CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" | $(GREP) -v "config.status: creating test/Makefile" | $(GREP) -v "cd .. && " | $(GREP) -v "CONFIG_HEADERS=" | $(GREP) -v "CONFIG_FILES="
109 $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect
112 $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out
114 #drl temporally take this out.
117 # @echo "Saving old expects..."; \
118 # cat *.expect >expects-`date +"%y-%m-%d-%H"`
119 # @for TEST in $(UNITTESTS) $(INTEGTESTS); do \
120 # echo "Making $$TEST.expect..."; \
121 # $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.expect; \
122 # cat $$TEST.expect; \
127 @for TEST in $(QUICKTESTS); do \
128 echo "Checking $$TEST..."; \
129 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
130 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
131 echo "*** FAIL ***"; \
136 @echo "Testing $(PACKAGE) $(VERSION)..."
138 @echo "Version Info:"
139 @$(SPLINTP) -help version
140 @$(SPLINTP) -help vars
144 @for TEST in $(UNITTESTS); do \
145 echo "Checking $$TEST..."; \
146 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
147 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
148 echo "*** FAIL ***"; \
151 @echo "Integration tests:"
153 @for TEST in $(INTEGTESTS); do \
154 echo "Checking $$TEST..."; \
155 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
156 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
157 echo "*** FAIL ***"; \
160 ### Rules for tests start here
162 SUBDIRTESTS = metastate mergestate tainted fileio warnuse ensuresclauses \
163 simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \
168 $(SPLINTR) abstptr -expect 9
169 $(SPLINTR) abstptr +voidabstract -expect 6
173 $(SPLINTR) abst_t.lcl commentcmd.c -expect 15
178 $(SPLINTR) mut alias +globalias -expect 19
179 $(SPLINTR) mut alias2 +globalias -expect 17
180 $(SPLINTR) +lh alias3 -expect 14
181 $(SPLINTR) +lh alias4 +boolint
182 $(SPLINTR) alias4 -pred +retalias -expect 6
183 $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5
187 $(SPLINTR) alttypes.c -expect 2
190 ### evans 2001-06-07 - updated nameCheck.c to reflect C9X.
191 ### Reports one new errors for ansireserved.c - wctomb is bad even as a local
192 ### variable (could be a macro?)
193 ### Reports 3 additional errors for +checks; no longer suppresses name errors
194 ### in the presense of other errors.
199 $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9
200 $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
201 $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12
202 $(SPLINTR) ansireserved2.c +ansireserved -expect 1
206 $(SPLINTR) argorder.c -expect 4
207 $(SPLINTR) argorder2 -expect 5
208 $(SPLINTR) argorder3.c -expect 8
209 $(SPLINTR) argorder4 -expect 9
210 $(SPLINTR) argorder4 -evalorder -expect 1
211 $(SPLINTR) argorder5.c +evalorderuncon -expect 3
215 $(SPLINTR) args -noeffect -expect 12
219 $(SPLINTR) blocks.c -expect 4
220 $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7
221 $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3
222 $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3
223 $(SPLINTR) blocks.c +allempty -expect 6
224 $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
228 $(SPLINTR) break.c -expect 4
229 $(SPLINTR) break.c +deepbreak -expect 6
230 $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5
234 $(SPLINTR) cases.c -expect 5
235 $(SPLINTR) cases2.c -expect 2
236 $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
237 $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
241 $(SPLINTR) cast -accessmodule -expect 20
242 $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
244 ### Two addition errors detected with 2.5 with -numliteral.
248 $(SPLINTR) +hints charlit.c -expect 4
249 $(SPLINTR) +hints -numliteral charlit.c -expect 6
250 $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns
254 $(SPLINTR) clauses.c +memchecks -expect 4
255 $(SPLINTR) clauses2.c +memchecks
256 $(SPLINTR) clauses3.c +memchecks -expect 2
257 $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3
261 $(SPLINTR) commentchar.c -expect 4
262 $(SPLINTR) -commentchar '#' commentchar.c -expect 4
266 $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
267 $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
271 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
272 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
273 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
274 $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
278 ${SPLINTRN} constannot.c +arraybounds -exportlocal -expect 2
282 $(SPLINTR) +quiet -incondefs csyntax.c -expect 1
283 $(SPLINTR) +quiet csyntax2.c -expect 2
284 $(SPLINTR) +quiet csyntax3.c -expect 1
285 $(SPLINTR) +quiet -incondefs csyntax4.c
286 $(SPLINTR) +quiet csyntax5.c
287 $(SPLINTR) +quiet csyntax6.c
288 $(SPLINTR) +quiet csyntax7.c
289 $(SPLINTR) +quiet csyntax8.c
290 $(SPLINTR) +quiet csyntax9.c
291 $(SPLINTR) +quiet csyntax10.c
292 $(SPLINTR) +quiet csyntax11.c
293 $(SPLINTR) +quiet csyntax12.c
294 $(SPLINTR) +quiet csyntax13.c -expect 1
295 $(SPLINTR) +quiet csyntax14.c
296 $(SPLINTR) +quiet csyntax15.c
297 $(SPLINTR) +quiet csyntax16.c -expect 2
298 $(SPLINTR) +quiet csyntax17.c -expect 3
302 $(SPLINTR) czechnames.c
303 $(SPLINTR) +hints +czech czechnames.c -expect 2
304 $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1
305 $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6
307 .PHONY: czechoslovaknames
309 $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1
310 $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1
311 $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2
314 ### deadparam added 2001-05-27
319 ${SPLINTR} deadparam.c -expect 3
322 # Was expect 3 before 2.4. Earlier versions did not handle implicit
323 # function pointers correctly.
328 $(SPLINTR) decl.c -expect 2
329 $(SPLINTRN) decl.c +strict -exportlocal -expect 5
330 $(SPLINTR) decl2 -expect 4
334 $(SPLINTR) enum -expect 16
335 $(SPLINTR) enum -misscase -expect 14
339 $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
340 $(SPLINTR) exports.c +exportany -expect 3
345 $(SPLINTR) external.c +partial
346 $(SPLINTR) external.c +partial +distinctexternalnames -expect 2
347 $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3
348 $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
349 $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4
353 $(SPLINTR) fields.c +memchecks -expect 6
354 $(SPLINTR) fields2.c +memchecks -expect 5
355 $(SPLINTR) fields3.c +memchecks
359 $(SPLINTR) flags.c -expect 8
360 $(SPLINTR) +nocomments flags.c -expect 2
366 ${SPLINTR} forbody.c -expect 2
371 ${SPLINTR} format.c -expect 3
372 ${SPLINTR} format.c -formatconst
374 # two new errors (invalid lhs)
378 $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18
380 .PHONY: functionmacro
382 $(SPLINTR) functionmacro.c -expect 2
386 $(SPLINTR) glob -expect 4
387 $(SPLINTR) glob -globuse -expect 3
388 $(SPLINTR) glob +globunspec -expect 6
392 $(SPLINTR) -modifies globals.c -expect 5
393 $(SPLINTR) -modifies globals.c +allglobals -expect 6
394 $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6
395 $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2
396 $(SPLINTR) -modifies globals.c +globunspec -expect 6
397 $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8
402 $(SPLINTR) -accessmodule impabstract.c
403 $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2
404 $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4
407 ### evans 2001-12-30: Handle unrecognized pre-processor directives
408 ### (Reported by Pierluigi Sanzani)
412 ${SPLINTR} info.c -expect 4
414 ### evans 2001-10-14: Expected errors updated
417 $(SPLINTR) init.c -expect 14
418 $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17
423 $(SPLINTR) inparam.c -expect 2
424 $(SPLINTR) +impouts inparam.c -expect 1
428 $(SPLINTR) internal.c -expect 1
429 $(SPLINTR) internal.c +distinctinternalnames -expect 2
430 $(SPLINTR) internal.c -internalnamelen 28 -expect 3
431 $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3
432 $(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11
436 ### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6
441 $(SPLINTR) iter -expect 14 -lclexpect 1
442 $(SPLINTR) iter2.c -expect 12
446 $(SPLINTR) keep.c +memchecks -expect 6
449 ### 2001-05-22: 2 new errors found (fixed spec of signal)
450 ### 2001-05-30: 3 new errors found (formatconst)
454 $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18
455 $(SPLINTR) libs.c -expect 22
456 $(SPLINTR) libs.c +globunspec +modunspec -expect 25
457 $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42
461 $(SPLINTR) lintcomments.c -expect 4
462 $(SPLINTR) lintcomments.c -warnlintcomments -expect 1
463 $(SPLINTR) lintcomments.c -lintcomments -expect 4
467 $(SPLINTR) list.c -expect 3
471 $(SPLINTR) macros -expect 17
472 $(SPLINTR) macros.c +allmacros -expect 34
473 $(SPLINTR) macros.c +fcnmacros -expect 31
478 $(SPLINTR) macrosef -expect 4
479 $(SPLINTR) macrosef.c +allmacros -expect 3
480 $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4
484 $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
488 $(SPLINTRN) mergenull.c
492 $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
496 $(SPLINTR) modtest -expect 10
497 $(SPLINTR) modtest +modunspec -expect 13
498 $(SPLINTR) modtest +mustmod -expect 14
502 $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4
503 $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22
505 .PHONY: mongoincludes
507 $(SPLINTR) mongoincludes.c -includenest 1 -expect 19
508 $(SPLINTR) mongoincludes.c -includenest 2 -expect 10
509 $(SPLINTR) mongoincludes.c -includenest 3 -expect 4
510 $(SPLINTR) mongoincludes.c -includenest 4 -expect 1
511 $(SPLINTR) mongoincludes.c -includenest 5 -expect 0
515 $(SPLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4
519 ${SPLINT} -nof noeffect.c +allmacros +checks -expect 3
523 $(SPLINTR) null1.c -expect 14
524 $(SPLINTR) null1.c -null -expect 4
525 $(SPLINTR) null2.c -expect 10
526 $(SPLINTR) null3.c -expect 15
527 $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16
528 $(SPLINTR) null4.c -expect 1
529 $(SPLINTR) null5.c -expect 4
530 $(SPLINTR) null6 -expect 4
531 $(SPLINTR) +quiet null6.lcl -dump null6
532 $(SPLINTR) null6.c -load null6 -expect 4
534 ### Added for 3.0 (bugs reported by Kevin Broady)
538 $(SPLINTR) nullret.c -expect 2
539 $(SPLINTR) -nullret nullret.c -expect 1
543 $(SPLINTR) nullassign.c -expect 2
544 $(SPLINTR) -nullassign nullassign.c -expect 1
548 # Before 2.4, expected one more because error was reported both as
549 # dependent and observer.
554 $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9
555 $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8
556 $(SPLINTR) observer.c -expect 7
560 $(SPLINTR) oldstyle -expect 3
564 $(SPLINTR) outglob -expect 10
568 $(SPLINTR) outparam -expect 12
570 ### evans 2001-08-26: postnotnull new
574 ${SPLINTR} postnotnull.c -expect 1
576 # Four new +fcnuse errors for -strict (evans 2001-07-22)
581 $(SPLINTR) +hints preds.c -expect 6
582 $(SPLINTRN) +hints preds.c -weak -expect 1
583 $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12
587 $(SPLINTR) prefixes.c +partial
588 $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
589 $(SPLINTR) prefixes.c -typeprefix "T" -expect 2
590 $(SPLINTR) prefixes.c -typeprefix "^" -expect 1
591 $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2
592 $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2
593 $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2
594 $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7
595 $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4
596 $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5
597 $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5
598 $(SPLINTR) prefixes.c -globalprefix "G" -expect 1
599 $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1
600 $(SPLINTR) prefixes.c -externalprefix "G" -expect 5
601 $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
602 $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
606 $(SPLINTR) printflike.c -expect 6
607 $(SPLINTR) printflike.c -warnlintcomments -expect 5
611 $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
612 $(SPLINTR) -DMYSTERY=12 rc.c -expect 1
613 $(SPLINTR) -f rc1.splintrc rc.c -expect 1
614 $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1
615 $(SPLINTR) -f rc3.splintrc rc.c -expect 1
619 cd rcfiles; ${MAKE} SPLINT="$(SPLINTPNEST)"
623 $(SPLINTR) refcounts.c -expect 7
627 $(SPLINTR) release.c +memchecks -expect 1
631 $(SPLINTR) +lh repexpose +memchecks -expect 12
632 $(SPLINTR) repexpose +memchecks +retalias -expect 15
633 $(SPLINTRN) repexpose +checks -exportlocal -expect 27
635 ### returned added 2001-05-27
636 ### (Bug discovered checking splint sources.)
640 ${SPLINTR} returned.c -expect 1
644 $(SPLINTR) sharing1.c -expect 21
645 $(SPLINTR) sharing3.c -expect 3
646 $(SPLINTR) sharing4.c -expect 13
647 $(SPLINTR) sharing4.c -paramimptemp -expect 12
648 $(SPLINTR) sharing5.c -expect 6
652 $(SPLINTR) +hints slovaknames.c -expect 1
653 $(SPLINTR) +hints slovaknames.c +accessslovak
654 $(SPLINTR) +hints +slovak slovaknames.c -expect 3
655 $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
656 $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
660 $(SPLINTR) specclauses.c -expect 6
661 $(SPLINTR) specclauses2.c -expect 8
662 $(SPLINTR) specclauses3.c -expect 6
663 $(SPLINTR) specclauses4.c -expect 3
664 $(SPLINTR) specclauses5.c -expect 3
668 $(SPLINTR) special -expect 20
669 $(SPLINTR) special -relaxquals -expect 22
673 $(SPLINTR) stack.c -expect 5
674 $(SPLINTR) stack.c -stackref
678 $(SPLINTR) staticarray.c -expect 3
682 $(SPLINTR) strings.c -expect 3
683 $(SPLINTR) -readonlystrings -expect 1 strings.c
684 $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c
688 $(SPLINTR) structassign.c -expect 4
692 $(SPLINTR) typequals.c tq.lcl -expect 5
693 $(SPLINTR) typequals.c -expect 2
697 $(SPLINTR) ud.c -expect 9
698 $(SPLINTR) ud2 -specundef -expect 3
702 $(SPLINTR) ulstypes.c -expect 8
703 $(SPLINTR) ulstypes.c +ignorequals
704 $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28
706 # 3 more detected with version 2.5 (change in -numliteral setting)
710 $(SPLINTR) +memchecks union.c -expect 8
713 ### Added 2001-12-30: fixed union initializer checking in response to
714 ### bug report from Jim Zelenka.
719 $(SPLINTR) unioninit.c -expect 2
723 $(SPLINTR) unreachable.c -expect 5
724 $(SPLINTR) -unreachable unreachable.c -expect 2
725 $(SPLINTR) switch.c -expect 4
727 .PHONY: unsignedcompare
729 ${SPLINTR} +posixlib unsignedcompare.c -expect 4
733 ### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks
738 $(SPLINTRN) unused.c +checks -exportlocal -expect 5
739 $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8
742 ### 2001-06-10: Provided by Jim Zalenka
747 ${SPLINTRN} ullint.c -expect 5
748 ${SPLINTRN} ullint.c +charint +charintliteral -expect 2
751 ### 2001-12-30: Poor warnings reported by Peter Deutsch
756 ${SPLINTRN} utypes.c -expect 6
762 ${SPLINTRN} void.c -expect 2
765 ### 2001-12-30: Problems with wide character strings reported by Nelson Beebe
770 ${SPLINTRN} widestrings.c -expect 2
778 ${SPLINTR} linked.c -expect 4
779 ${SPLINTR} linked2.c -expect 3
780 ${SPLINTR} linked3.c -expect 5
781 ${SPLINTR} linked4.c -expect 6
782 ${SPLINTR} linked5.c -expect 4
783 ${SPLINTR} linked6.c -expect 4
787 ${SPLINTR} freearray.c -expect 1
790 ### Bugs fixed and new features since version 2.1b
793 SUBDIRTESTS += tests2.2
794 SUBDIRTESTS += tests2.2a
795 SUBDIRTESTS += tests2.4
799 $(SPLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1
803 $(SPLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5
805 SUBDIRTESTS += tests2.5
810 ## db2: 2 errors are no longer reported, since eref is immutable.
811 ## Need to clarify what it means for an object to be immutable;
812 ## there should be 2 types with different storage requirements.
814 SUBDIRTESTS += db1 db2 db3
816 .PHONY: $(SUBDIRTESTS)
818 cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)"
820 #drl 11/29/2001 This is a very ugly hack to get make dist to work
821 EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \
822 ./abstptr.lcl ./abstptr.lcs \
823 ./alias.lcl ./alias.lcs \
824 ./alias2.lcl ./alias2.lcs \
895 ./repexpose.lh.expect \
912 ./globalbufferannotation/.splintrc \
915 ./tests2.2/bool.lcl \
916 ./tests2.2/bool.lcs \
917 ./tests2.2/libraries.lcd \
918 ./tests2.2/obsolete.lcd \
919 ./tests2.2/oldversion.lcd \
920 ./tests2.4/subdir/main.lcl \
921 ./tests2.4/subdir/main.lcs \
922 ./tests2.5/newlint.lcd \
923 ./warnuse/warnuse.lcd \
983 ./czechoslovaknames.c \
1099 ./unsignedcompare.c \
1102 ./conditions/miroslaw.c \
1103 ./conditions/releases.c \
1105 ./fileio/filebranch.c \
1108 ./globalbufferannotation/globalvariable.c \
1109 ./maxset/maxsetannotations.c \
1110 ./maxset/maxsetnoannotations.c \
1111 ./mergestate/taintednm.c \
1112 ./metastate/file.c \
1113 ./metastate/file1.c \
1114 ./metastate/file2.c \
1115 ./metastate/file3.c \
1116 ./metastate/file4.c \
1117 ./metastate/file5.c \
1118 ./metastate/file6.c \
1119 ./metastate/file7.c \
1120 ./metastate/filebad.c \
1121 ./metastate/global.c \
1122 ./metastate/nullbranch.c \
1123 ./metastate/nullbranch2.c \
1124 ./metastate/nullret.c \
1126 ./metastate/sockets.c \
1127 ./metastate/sockets2.c \
1128 ./metastate/struct.c \
1129 ./metastate/test.c \
1130 ./metastate/voidptr.c \
1131 ./moreBufferTests/initialization.c \
1132 ./moreBufferTests/simplifyTest.c \
1133 ./moreBufferTests/strncatNotReallyGood.c \
1134 ./moreBufferTests/strncatReallyGood.c \
1135 ./moreBufferTests/strrchr.c \
1136 ./moreBufferTests/unrecogCall.c \
1137 ./nullterminatedtest/buggy1.c \
1138 ./nullterminatedtest/buggy_support1.c \
1139 ./nullterminatedtest/buggy_support_fmakeword.c \
1140 ./nullterminatedtest/test1.c \
1141 ./nullterminatedtest/test3.c \
1142 ./simplebufferConstraintTests/m.c \
1143 ./simplebufferConstraintTests/sizeof.c \
1144 ./simplebufferConstraintTests/test3.c \
1145 ./simplebufferConstraintTests/test7.c \
1146 ./sizeoftest/sizeof.c \
1148 ./suppressfile/test.c \
1149 ./tainted/sprintf.c \
1151 ./tainted/tainted.c \
1152 ./tainted/tainted2.c \
1153 ./tainted/tainted3.c \
1154 ./tainted/tainted4.c \
1155 ./tainted/tainted5.c \
1156 ./tainted/taintedimplicit.c \
1157 ./tainted/taintedmerge.c \
1158 ./tainted/taintedx.c \
1160 ./tclauses/globals.c \
1162 ./tclauses/modifies.c \
1163 ./tclauses/struct.c \
1164 ./tclauses/undef.c \
1165 ./tests2.2/arbints.c \
1166 ./tests2.2/arrayfcn.c \
1167 ./tests2.2/booldef.c \
1168 ./tests2.2/boolenum.c \
1169 ./tests2.2/boolops.c \
1170 ./tests2.2/break.c \
1171 ./tests2.2/bstring.c \
1173 ./tests2.2/enumbool.c \
1174 ./tests2.2/extension.c \
1175 ./tests2.2/libraries.c \
1176 ./tests2.2/modarray.c \
1177 ./tests2.2/nestext.c \
1178 ./tests2.2/offsetof.c \
1179 ./tests2.2/posix.c \
1180 ./tests2.2/realloc.c \
1182 ./tests2.2/sizeofarray.c \
1183 ./tests2.2/struct.c \
1184 ./tests2.2a/addassign.c \
1185 ./tests2.2a/arrayparam.c \
1186 ./tests2.2a/bitops.c \
1187 ./tests2.2a/boolcomp.c \
1188 ./tests2.2a/boolenum.c \
1189 ./tests2.2a/dobb.c \
1190 ./tests2.2a/duff.c \
1191 ./tests2.2a/erik.c \
1192 ./tests2.2a/floatdouble.c \
1193 ./tests2.2a/florian.c \
1194 ./tests2.2a/fred.c \
1195 ./tests2.2a/isalpha.c \
1196 ./tests2.2a/notreached.c \
1197 ./tests2.2a/obviousloop.c \
1198 ./tests2.2a/popik.c \
1199 ./tests2.2a/sizeof.c \
1200 ./tests2.2a/toralf.c \
1201 ./tests2.4/subdir/main.c \
1202 ./tests2.4/alignof.c \
1203 ./tests2.4/array.c \
1204 ./tests2.4/bitfields.c \
1209 ./tests2.4/cpptest.c \
1210 ./tests2.4/driverstub.c \
1211 ./tests2.4/duffs.c \
1212 ./tests2.4/emptycase.c \
1213 ./tests2.4/enumtest.c \
1214 ./tests2.4/error.c \
1216 ./tests2.4/flagequal.c \
1217 ./tests2.4/forward.c \
1219 ./tests2.4/hexconstants.c \
1220 ./tests2.4/innercomment.c \
1221 ./tests2.4/komazi.c \
1222 ./tests2.4/longlong.c \
1224 ./tests2.4/nothing.c \
1225 ./tests2.4/offsetof.c \
1226 ./tests2.4/print.c \
1228 ./tests2.4/syncomment.c \
1229 ./tests2.4/syslog.c \
1230 ./tests2.4/test0.c \
1231 ./tests2.4/test1.c \
1232 ./tests2.4/test2.c \
1233 ./tests2.4/timecard.c \
1234 ./tests2.4/toothman.c \
1235 ./tests2.4/ulrich.c \
1236 ./tests2.5/badcomment.c \
1237 ./tests2.5/boolbad.c \
1238 ./tests2.5/boolt.c \
1239 ./tests2.5/booltest.c \
1240 ./tests2.5/dummyfile.c \
1242 ./tests2.5/immutable.c \
1243 ./tests2.5/impabsmodule.c \
1244 ./tests2.5/literals.c \
1245 ./tests2.5/quals.c \
1247 ./tests2.5/testalt.c \
1248 ./tests2.5/testimmutable.c \
1249 ./tests2.5/uconstants.c \
1251 ./warnuse/warnflags.c \
1252 ./warnuse/warngets.c \
1253 ./warnuse/warnuse.c \
1254 ./moreBufferTests2/unknownsize.c \
1255 ./moreBufferTests2/arrayConstExpr.c \
1260 ansireserved.expect \
1265 branchstate.expect \
1272 commentchar.expect \
1273 compdestroy.expect \
1275 controldepth.expect \
1278 czechoslovaknames.expect \
1294 funcpointer.expect \
1296 globalbufferannotation.expect \
1299 impabstract.expect \
1307 lintcomments.expect \
1309 longconstants.expect \
1319 mongoincludes.expect \
1320 moreBufferTests.expect \
1321 moreBufferTests2.expect \
1326 nullterminatedtest.expect \
1331 postnotnull.expect \
1339 repexpose.lh.expect \
1342 simplebufferConstraintTests.expect \
1345 slovaknames.expect \
1346 specclauses.expect \
1349 staticarray.expect \
1352 structassign.expect \
1364 unreachable.expect \
1365 unsignedcompare.expect \
1404 ./metastate/global.h \
1405 ./suppressfile/test.h \
1406 ./tests2.2/Makefile.hide \
1407 ./tests2.2/mbool.h \
1408 ./tests2.4/forward.h \
1410 ./tests2.4/timecard.h \
1412 ./tests2.5/bimbim.h \
1413 ./tests2.5/immutable.h \
1414 ./tests2.5/impabsmodule.h \
1415 ./tests2.5/socket.h \
1416 ./Makefile-test.os2 \
1420 ./conditions/Makefile \
1423 ./globalbufferannotation/Makefile \
1425 ./mergestate/Makefile \
1426 ./metastate/Makefile \
1427 ./moreBufferTests/Makefile \
1428 ./simplebufferConstraintTests/Makefile \
1430 ./tainted/Makefile \
1432 ./tests2.2/Makefile.hide \
1433 ./tests2.2/Makefile \
1434 ./tests2.2/Makefile-tests2.2.os2 \
1435 ./tests2.2a/Makefile \
1436 ./tests2.4/Makefile \
1437 ./tests2.4/Makefile-tests2.4.os2 \
1438 ./tests2.5/Makefile \
1439 ./warnuse/Makefile \
1442 ./moreBufferTests2/Makefile \
1443 ./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 \
1444 alias alttypes ansireserved \
1445 db2.old-expect outglob outparam preds union.pp warnuse.old-expect \
1446 ./tests2.5/badcomment ./tests2.5/boolbad ./tests2.5/booltest ./tests2.5/uconstants