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 glob globals impabstract 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 unreachable unsignedcompare \
55 unused ullint utypes void
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.
103 CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:"
108 $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect
111 $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out
113 #drl temporally take this out.
116 # @echo "Saving old expects..."; \
117 # cat *.expect >expects-`date +"%y-%m-%d-%H"`
118 # @for TEST in $(UNITTESTS) $(INTEGTESTS); do \
119 # echo "Making $$TEST.expect..."; \
120 # $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.expect; \
121 # cat $$TEST.expect; \
126 @for TEST in $(QUICKTESTS); do \
127 echo "Checking $$TEST..."; \
128 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
129 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
130 echo "*** FAIL ***"; \
135 @echo "Testing $(PACKAGE) $(VERSION)..."
137 @echo "Version Info:"
138 @$(SPLINTP) -help version
139 @$(SPLINTP) -help vars
143 @for TEST in $(UNITTESTS); do \
144 echo "Checking $$TEST..."; \
145 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
146 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
147 echo "*** FAIL ***"; \
150 @echo "Integration tests:"
152 @for TEST in $(INTEGTESTS); do \
153 echo "Checking $$TEST..."; \
154 $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
155 $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
156 echo "*** FAIL ***"; \
159 ### Rules for tests start here
161 SUBDIRTESTS = metastate mergestate tainted fileio warnuse ensuresclauses \
162 simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \
167 $(SPLINTR) abstptr -expect 9
168 $(SPLINTR) abstptr +voidabstract -expect 6
172 $(SPLINTR) abst_t.lcl commentcmd.c -expect 15
177 $(SPLINTR) mut alias +globalias -expect 19
178 $(SPLINTR) mut alias2 +globalias -expect 17
179 $(SPLINTR) +lh alias3 -expect 14
180 $(SPLINTR) +lh alias4 +boolint
181 $(SPLINTR) alias4 -pred +retalias -expect 6
182 $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5
186 $(SPLINTR) alttypes.c -expect 2
189 ### evans 2001-06-07 - updated nameCheck.c to reflect C9X.
190 ### Reports one new errors for ansireserved.c - wctomb is bad even as a local
191 ### variable (could be a macro?)
192 ### Reports 3 additional errors for +checks; no longer suppresses name errors
193 ### in the presense of other errors.
198 $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9
199 $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
200 $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12
201 $(SPLINTR) ansireserved2.c +ansireserved -expect 1
205 $(SPLINTR) argorder.c -expect 4
206 $(SPLINTR) argorder2 -expect 5
207 $(SPLINTR) argorder3.c -expect 8
208 $(SPLINTR) argorder4 -expect 9
209 $(SPLINTR) argorder4 -evalorder -expect 1
210 $(SPLINTR) argorder5.c +evalorderuncon -expect 3
214 $(SPLINTR) args -noeffect -expect 12
218 $(SPLINTR) blocks.c -expect 4
219 $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7
220 $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3
221 $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3
222 $(SPLINTR) blocks.c +allempty -expect 6
223 $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
227 $(SPLINTR) break.c -expect 4
228 $(SPLINTR) break.c +deepbreak -expect 6
229 $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5
233 $(SPLINTR) cases.c -expect 5
234 $(SPLINTR) cases2.c -expect 2
235 $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
236 $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
240 $(SPLINTR) cast -accessmodule -expect 20
241 $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
243 ### Two addition errors detected with 2.5 with -numliteral.
247 $(SPLINTR) +hints charlit.c -expect 4
248 $(SPLINTR) +hints -numliteral charlit.c -expect 6
249 $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns
253 $(SPLINTR) clauses.c +memchecks -expect 4
254 $(SPLINTR) clauses2.c +memchecks
255 $(SPLINTR) clauses3.c +memchecks -expect 2
256 $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3
260 $(SPLINTR) commentchar.c -expect 4
261 $(SPLINTR) -commentchar '#' commentchar.c -expect 4
265 $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
266 $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
270 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
271 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
272 $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
273 $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
277 ${SPLINTRN} constannot.c +arraybounds -exportlocal -expect 2
281 $(SPLINTR) +quiet -incondefs csyntax.c -expect 1
282 $(SPLINTR) +quiet csyntax2.c -expect 2
283 $(SPLINTR) +quiet csyntax3.c -expect 1
284 $(SPLINTR) +quiet -incondefs csyntax4.c
285 $(SPLINTR) +quiet csyntax5.c
286 $(SPLINTR) +quiet csyntax6.c
287 $(SPLINTR) +quiet csyntax7.c
288 $(SPLINTR) +quiet csyntax8.c
289 $(SPLINTR) +quiet csyntax9.c
290 $(SPLINTR) +quiet csyntax10.c
291 $(SPLINTR) +quiet csyntax11.c
292 $(SPLINTR) +quiet csyntax12.c
293 $(SPLINTR) +quiet csyntax13.c -expect 1
294 $(SPLINTR) +quiet csyntax14.c
295 $(SPLINTR) +quiet csyntax15.c
296 $(SPLINTR) +quiet csyntax16.c -expect 2
297 $(SPLINTR) +quiet csyntax17.c -expect 3
301 $(SPLINTR) czechnames.c
302 $(SPLINTR) +hints +czech czechnames.c -expect 2
303 $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1
304 $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6
306 .PHONY: czechoslovaknames
308 $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1
309 $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1
310 $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2
313 ### deadparam added 2001-05-27
318 ${SPLINTR} deadparam.c -expect 3
321 # Was expect 3 before 2.4. Earlier versions did not handle implicit
322 # function pointers correctly.
327 $(SPLINTR) decl.c -expect 2
328 $(SPLINTRN) decl.c +strict -exportlocal -expect 5
329 $(SPLINTR) decl2 -expect 4
333 $(SPLINTR) enum -expect 16
334 $(SPLINTR) enum -misscase -expect 14
338 $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
339 $(SPLINTR) exports.c +exportany -expect 3
344 $(SPLINTR) external.c +partial
345 $(SPLINTR) external.c +partial +distinctexternalnames -expect 2
346 $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3
347 $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
348 $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4
352 $(SPLINTR) fields.c +memchecks -expect 6
353 $(SPLINTR) fields2.c +memchecks -expect 5
354 $(SPLINTR) fields3.c +memchecks
358 $(SPLINTR) flags.c -expect 8
359 $(SPLINTR) +nocomments flags.c -expect 2
365 ${SPLINTR} forbody.c -expect 2
370 ${SPLINTR} format.c -expect 3
371 ${SPLINTR} format.c -formatconst
373 # two new errors (invalid lhs)
377 $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18
381 $(SPLINTR) glob -expect 4
382 $(SPLINTR) glob -globuse -expect 3
383 $(SPLINTR) glob +globunspec -expect 6
387 $(SPLINTR) -modifies globals.c -expect 5
388 $(SPLINTR) -modifies globals.c +allglobals -expect 6
389 $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6
390 $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2
391 $(SPLINTR) -modifies globals.c +globunspec -expect 6
392 $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8
397 $(SPLINTR) -accessmodule impabstract.c
398 $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2
399 $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4
401 ### evans 2001-10-14: Expected errors updated
404 $(SPLINTR) init.c -expect 14
405 $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17
410 $(SPLINTR) inparam.c -expect 2
411 $(SPLINTR) +impouts inparam.c -expect 1
415 $(SPLINTR) internal.c -expect 1
416 $(SPLINTR) internal.c +distinctinternalnames -expect 2
417 $(SPLINTR) internal.c -internalnamelen 28 -expect 3
418 $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3
419 $(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11
423 ### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6
428 $(SPLINTR) iter -expect 14 -lclexpect 1
429 $(SPLINTR) iter2.c -expect 12
433 $(SPLINTR) keep.c +memchecks -expect 6
436 ### 2001-05-22: 2 new errors found (fixed spec of signal)
437 ### 2001-05-30: 3 new errors found (formatconst)
441 $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18
442 $(SPLINTR) libs.c -expect 22
443 $(SPLINTR) libs.c +globunspec +modunspec -expect 25
444 $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42
448 $(SPLINTR) lintcomments.c -expect 4
449 $(SPLINTR) lintcomments.c -warnlintcomments -expect 1
450 $(SPLINTR) lintcomments.c -lintcomments -expect 4
454 $(SPLINTR) list.c -expect 3
458 $(SPLINTR) macros -expect 17
459 $(SPLINTR) macros.c +allmacros -expect 34
460 $(SPLINTR) macros.c +fcnmacros -expect 31
465 $(SPLINTR) macrosef -expect 4
466 $(SPLINTR) macrosef.c +allmacros -expect 3
467 $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4
471 $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
475 $(SPLINTRN) mergenull.c
479 $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
483 $(SPLINTR) modtest -expect 10
484 $(SPLINTR) modtest +modunspec -expect 13
485 $(SPLINTR) modtest +mustmod -expect 14
489 $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4
490 $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22
492 .PHONY: mongoincludes
494 $(SPLINTR) mongoincludes.c -includenest 1 -expect 19
495 $(SPLINTR) mongoincludes.c -includenest 2 -expect 10
496 $(SPLINTR) mongoincludes.c -includenest 3 -expect 4
497 $(SPLINTR) mongoincludes.c -includenest 4 -expect 1
498 $(SPLINTR) mongoincludes.c -includenest 5 -expect 0
502 $(SPLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4
506 ${SPLINT} -nof noeffect.c +allmacros +checks -expect 3
510 $(SPLINTR) null1.c -expect 14
511 $(SPLINTR) null1.c -null -expect 4
512 $(SPLINTR) null2.c -expect 10
513 $(SPLINTR) null3.c -expect 15
514 $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16
515 $(SPLINTR) null4.c -expect 1
516 $(SPLINTR) null5.c -expect 4
517 $(SPLINTR) null6 -expect 4
518 $(SPLINTR) +quiet null6.lcl -dump null6
519 $(SPLINTR) null6.c -load null6 -expect 4
521 ### Added for 3.0 (bugs reported by Kevin Broady)
525 $(SPLINTR) nullret.c -expect 2
526 $(SPLINTR) -nullret nullret.c -expect 1
530 $(SPLINTR) nullassign.c -expect 2
531 $(SPLINTR) -nullassign nullassign.c -expect 1
535 # Before 2.4, expected one more because error was reported both as
536 # dependent and observer.
541 $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9
542 $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8
543 $(SPLINTR) observer.c -expect 7
547 $(SPLINTR) oldstyle -expect 3
551 $(SPLINTR) outglob -expect 10
555 $(SPLINTR) outparam -expect 12
557 ### evans 2001-08-26: postnotnull new
561 ${SPLINTR} postnotnull.c -expect 1
563 # Four new +fcnuse errors for -strict (evans 2001-07-22)
568 $(SPLINTR) +hints preds.c -expect 6
569 $(SPLINTRN) +hints preds.c -weak -expect 1
570 $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12
574 $(SPLINTR) prefixes.c +partial
575 $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
576 $(SPLINTR) prefixes.c -typeprefix "T" -expect 2
577 $(SPLINTR) prefixes.c -typeprefix "^" -expect 1
578 $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2
579 $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2
580 $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2
581 $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7
582 $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4
583 $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5
584 $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5
585 $(SPLINTR) prefixes.c -globalprefix "G" -expect 1
586 $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1
587 $(SPLINTR) prefixes.c -externalprefix "G" -expect 5
588 $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
589 $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
593 $(SPLINTR) printflike.c -expect 6
594 $(SPLINTR) printflike.c -warnlintcomments -expect 5
598 $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
599 $(SPLINTR) -DMYSTERY=12 rc.c -expect 1
600 $(SPLINTR) -f rc1.splintrc rc.c -expect 1
601 $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1
602 $(SPLINTR) -f rc3.splintrc rc.c -expect 1
606 cd rcfiles; ${MAKE} SPLINT="$(SPLINTPNEST)"
610 $(SPLINTR) refcounts.c -expect 7
614 $(SPLINTR) release.c +memchecks -expect 1
618 $(SPLINTR) +lh repexpose +memchecks -expect 12
619 $(SPLINTR) repexpose +memchecks +retalias -expect 15
620 $(SPLINTRN) repexpose +checks -exportlocal -expect 27
622 ### returned added 2001-05-27
623 ### (Bug discovered checking splint sources.)
627 ${SPLINTR} returned.c -expect 1
631 $(SPLINTR) sharing1.c -expect 21
632 $(SPLINTR) sharing3.c -expect 3
633 $(SPLINTR) sharing4.c -expect 13
634 $(SPLINTR) sharing4.c -paramimptemp -expect 12
635 $(SPLINTR) sharing5.c -expect 6
639 $(SPLINTR) +hints slovaknames.c -expect 1
640 $(SPLINTR) +hints slovaknames.c +accessslovak
641 $(SPLINTR) +hints +slovak slovaknames.c -expect 3
642 $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
643 $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
647 $(SPLINTR) specclauses.c -expect 6
648 $(SPLINTR) specclauses2.c -expect 8
649 $(SPLINTR) specclauses3.c -expect 6
650 $(SPLINTR) specclauses4.c -expect 3
651 $(SPLINTR) specclauses5.c -expect 3
655 $(SPLINTR) special -expect 20
656 $(SPLINTR) special -relaxquals -expect 22
660 $(SPLINTR) stack.c -expect 5
661 $(SPLINTR) stack.c -stackref
665 $(SPLINTR) staticarray.c -expect 3
669 $(SPLINTR) strings.c -expect 3
670 $(SPLINTR) -readonlystrings -expect 1 strings.c
671 $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c
675 $(SPLINTR) structassign.c -expect 4
679 $(SPLINTR) typequals.c tq.lcl -expect 5
680 $(SPLINTR) typequals.c -expect 2
684 $(SPLINTR) ud.c -expect 9
685 $(SPLINTR) ud2 -specundef -expect 3
689 $(SPLINTR) ulstypes.c -expect 8
690 $(SPLINTR) ulstypes.c +ignorequals
691 $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28
692 # 3 more detected with version 2.5 (change in -numliteral setting)
696 $(SPLINTR) +memchecks union.c -expect 8
700 $(SPLINTR) unreachable.c -expect 5
701 $(SPLINTR) -unreachable unreachable.c -expect 2
702 $(SPLINTR) switch.c -expect 4
704 .PHONY: unsignedcompare
706 ${SPLINTR} +posixlib unsignedcompare.c -expect 4
710 ### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks
715 $(SPLINTRN) unused.c +checks -exportlocal -expect 5
716 $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8
719 ### 2001-06-10: Provided by Jim Zalenka
724 ${SPLINTRN} ullint.c -expect 5
725 ${SPLINTRN} ullint.c +charint +charintliteral -expect 2
728 ### 2001-12-30: Poor warnings reported by Peter Deutsch
733 ${SPLINTRN} utypes.c -expect 6
739 ${SPLINTRN} void.c -expect 2
747 ${SPLINTR} linked.c -expect 4
748 ${SPLINTR} linked2.c -expect 3
749 ${SPLINTR} linked3.c -expect 5
750 ${SPLINTR} linked4.c -expect 6
751 ${SPLINTR} linked5.c -expect 4
752 ${SPLINTR} linked6.c -expect 4
756 ${SPLINTR} freearray.c -expect 1
759 ### Bugs fixed and new features since version 2.1b
762 SUBDIRTESTS += tests2.2
763 SUBDIRTESTS += tests2.2a
764 SUBDIRTESTS += tests2.4
768 $(SPLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1
772 $(SPLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5
774 SUBDIRTESTS += tests2.5
779 ## db2: 2 errors are no longer reported, since eref is immutable.
780 ## Need to clarify what it means for an object to be immutable;
781 ## there should be 2 types with different storage requirements.
783 SUBDIRTESTS += db1 db2 db3
785 .PHONY: $(SUBDIRTESTS)
787 cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)"
789 #drl 11/29/2001 This is a very ugly hack to get make dist to work
790 EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \
791 ./abstptr.lcl ./abstptr.lcs \
792 ./alias.lcl ./alias.lcs \
793 ./alias2.lcl ./alias2.lcs \
864 ./repexpose.lh.expect \
881 ./globalbufferannotation/.splintrc \
884 ./tests2.2/bool.lcl \
885 ./tests2.2/bool.lcs \
886 ./tests2.2/libraries.lcd \
887 ./tests2.2/obsolete.lcd \
888 ./tests2.2/oldversion.lcd \
889 ./tests2.4/subdir/main.lcl \
890 ./tests2.4/subdir/main.lcs \
891 ./tests2.5/newlint.lcd \
892 ./warnuse/warnuse.lcd \
952 ./czechoslovaknames.c \
1068 ./unsignedcompare.c \
1071 ./conditions/miroslaw.c \
1072 ./conditions/releases.c \
1074 ./fileio/filebranch.c \
1077 ./globalbufferannotation/globalvariable.c \
1078 ./maxset/maxsetannotations.c \
1079 ./maxset/maxsetnoannotations.c \
1080 ./mergestate/taintednm.c \
1081 ./metastate/file.c \
1082 ./metastate/file1.c \
1083 ./metastate/file2.c \
1084 ./metastate/file3.c \
1085 ./metastate/file4.c \
1086 ./metastate/file5.c \
1087 ./metastate/file6.c \
1088 ./metastate/file7.c \
1089 ./metastate/filebad.c \
1090 ./metastate/global.c \
1091 ./metastate/nullbranch.c \
1092 ./metastate/nullbranch2.c \
1093 ./metastate/nullret.c \
1095 ./metastate/sockets.c \
1096 ./metastate/sockets2.c \
1097 ./metastate/struct.c \
1098 ./metastate/test.c \
1099 ./metastate/voidptr.c \
1100 ./moreBufferTests/initialization.c \
1101 ./moreBufferTests/simplifyTest.c \
1102 ./moreBufferTests/strncatNotReallyGood.c \
1103 ./moreBufferTests/strncatReallyGood.c \
1104 ./moreBufferTests/strrchr.c \
1105 ./moreBufferTests/unrecogCall.c \
1106 ./nullterminatedtest/buggy1.c \
1107 ./nullterminatedtest/buggy_support1.c \
1108 ./nullterminatedtest/buggy_support_fmakeword.c \
1109 ./nullterminatedtest/test1.c \
1110 ./nullterminatedtest/test3.c \
1111 ./simplebufferConstraintTests/m.c \
1112 ./simplebufferConstraintTests/sizeof.c \
1113 ./simplebufferConstraintTests/test3.c \
1114 ./simplebufferConstraintTests/test7.c \
1115 ./sizeoftest/sizeof.c \
1117 ./suppressfile/test.c \
1118 ./tainted/sprintf.c \
1120 ./tainted/tainted.c \
1121 ./tainted/tainted2.c \
1122 ./tainted/tainted3.c \
1123 ./tainted/tainted4.c \
1124 ./tainted/tainted5.c \
1125 ./tainted/taintedimplicit.c \
1126 ./tainted/taintedmerge.c \
1127 ./tainted/taintedx.c \
1129 ./tclauses/globals.c \
1131 ./tclauses/modifies.c \
1132 ./tclauses/struct.c \
1133 ./tclauses/undef.c \
1134 ./tests2.2/arbints.c \
1135 ./tests2.2/arrayfcn.c \
1136 ./tests2.2/booldef.c \
1137 ./tests2.2/boolenum.c \
1138 ./tests2.2/boolops.c \
1139 ./tests2.2/break.c \
1140 ./tests2.2/bstring.c \
1142 ./tests2.2/enumbool.c \
1143 ./tests2.2/extension.c \
1144 ./tests2.2/libraries.c \
1145 ./tests2.2/modarray.c \
1146 ./tests2.2/nestext.c \
1147 ./tests2.2/offsetof.c \
1148 ./tests2.2/posix.c \
1149 ./tests2.2/realloc.c \
1151 ./tests2.2/sizeofarray.c \
1152 ./tests2.2/struct.c \
1153 ./tests2.2a/addassign.c \
1154 ./tests2.2a/arrayparam.c \
1155 ./tests2.2a/bitops.c \
1156 ./tests2.2a/boolcomp.c \
1157 ./tests2.2a/boolenum.c \
1158 ./tests2.2a/dobb.c \
1159 ./tests2.2a/duff.c \
1160 ./tests2.2a/erik.c \
1161 ./tests2.2a/floatdouble.c \
1162 ./tests2.2a/florian.c \
1163 ./tests2.2a/fred.c \
1164 ./tests2.2a/isalpha.c \
1165 ./tests2.2a/notreached.c \
1166 ./tests2.2a/obviousloop.c \
1167 ./tests2.2a/popik.c \
1168 ./tests2.2a/sizeof.c \
1169 ./tests2.2a/toralf.c \
1170 ./tests2.4/subdir/main.c \
1171 ./tests2.4/alignof.c \
1172 ./tests2.4/array.c \
1173 ./tests2.4/bitfields.c \
1178 ./tests2.4/cpptest.c \
1179 ./tests2.4/driverstub.c \
1180 ./tests2.4/duffs.c \
1181 ./tests2.4/emptycase.c \
1182 ./tests2.4/enumtest.c \
1183 ./tests2.4/error.c \
1185 ./tests2.4/flagequal.c \
1186 ./tests2.4/forward.c \
1188 ./tests2.4/hexconstants.c \
1189 ./tests2.4/innercomment.c \
1190 ./tests2.4/komazi.c \
1191 ./tests2.4/longlong.c \
1193 ./tests2.4/nothing.c \
1194 ./tests2.4/offsetof.c \
1195 ./tests2.4/print.c \
1197 ./tests2.4/syncomment.c \
1198 ./tests2.4/syslog.c \
1199 ./tests2.4/test0.c \
1200 ./tests2.4/test1.c \
1201 ./tests2.4/test2.c \
1202 ./tests2.4/timecard.c \
1203 ./tests2.4/toothman.c \
1204 ./tests2.4/ulrich.c \
1205 ./tests2.5/badcomment.c \
1206 ./tests2.5/boolbad.c \
1207 ./tests2.5/boolt.c \
1208 ./tests2.5/booltest.c \
1209 ./tests2.5/dummyfile.c \
1211 ./tests2.5/immutable.c \
1212 ./tests2.5/impabsmodule.c \
1213 ./tests2.5/literals.c \
1214 ./tests2.5/quals.c \
1216 ./tests2.5/testalt.c \
1217 ./tests2.5/testimmutable.c \
1218 ./tests2.5/uconstants.c \
1220 ./warnuse/warnflags.c \
1221 ./warnuse/warngets.c \
1222 ./warnuse/warnuse.c \
1223 ./moreBufferTests2/unknownsize.c \
1224 ./moreBufferTests2/arrayConstExpr.c \
1229 ansireserved.expect \
1234 branchstate.expect \
1241 commentchar.expect \
1242 compdestroy.expect \
1244 controldepth.expect \
1247 czechoslovaknames.expect \
1263 funcpointer.expect \
1265 globalbufferannotation.expect \
1268 impabstract.expect \
1276 lintcomments.expect \
1278 longconstants.expect \
1288 mongoincludes.expect \
1289 moreBufferTests.expect \
1290 moreBufferTests2.expect \
1295 nullterminatedtest.expect \
1300 postnotnull.expect \
1308 repexpose.lh.expect \
1311 simplebufferConstraintTests.expect \
1314 slovaknames.expect \
1315 specclauses.expect \
1318 staticarray.expect \
1321 structassign.expect \
1333 unreachable.expect \
1334 unsignedcompare.expect \
1373 ./metastate/global.h \
1374 ./suppressfile/test.h \
1375 ./tests2.2/Makefile.hide \
1376 ./tests2.2/mbool.h \
1377 ./tests2.4/forward.h \
1379 ./tests2.4/timecard.h \
1381 ./tests2.5/bimbim.h \
1382 ./tests2.5/immutable.h \
1383 ./tests2.5/impabsmodule.h \
1384 ./tests2.5/socket.h \
1385 ./Makefile-test.os2 \
1389 ./conditions/Makefile \
1392 ./globalbufferannotation/Makefile \
1394 ./mergestate/Makefile \
1395 ./metastate/Makefile \
1396 ./moreBufferTests/Makefile \
1397 ./simplebufferConstraintTests/Makefile \
1399 ./tainted/Makefile \
1401 ./tests2.2/Makefile.hide \
1402 ./tests2.2/Makefile \
1403 ./tests2.2/Makefile-tests2.2.os2 \
1404 ./tests2.2a/Makefile \
1405 ./tests2.4/Makefile \
1406 ./tests2.4/Makefile-tests2.4.os2 \
1407 ./tests2.5/Makefile \
1408 ./warnuse/Makefile \
1411 ./moreBufferTests2/Makefile \
1412 ./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 \
1413 alias alttypes ansireserved \
1414 db2.old-expect outglob outparam preds union.pp warnuse.old-expect \
1415 ./tests2.5/badcomment ./tests2.5/boolbad ./tests2.5/booltest ./tests2.5/uconstants