]> andersk Git - splint.git/blame - test/Makefile
Added fileTable tracking of open files, so they may be closed on fatal exits.
[splint.git] / test / Makefile
CommitLineData
885824d3 1##################################################
2### ###
3### Makefile for LCLint testing ###
4### ###
5### designed for use with GNU make ###
6### ###
7##################################################
8
9.PHONY: all fulltest quicktest funcpointer cast abstract
10.PHONY: version help abstptr abstract alias alttypes ansireserved
11.PHONY: argorder args blocks break cases cast charlit
12.PHONY: clauses commentchar
b9904f57 13.PHONY: compdestroy constannot controldepth csyntax czechnames czechoslovaknames
60eced23 14.PHONY: deadparam decl enum exports external fields fileio flags forbody format funcpointer glob globals
885824d3 15.PHONY: impabstract init inparam internal iter keep libs lintcomments
12f2ffe9 16.PHONY: list macros macrosef merge mergestate modifies modtest moduncon mongoincludes
1d239d69 17.PHONY: noeffect null observer oldstyle outglob outparam postnotnull preds prefixes printflike rc
80ee600a 18.PHONY: refcounts release repexpose returned sharing slovaknames special
19.PHONY: specclauses stack staticarray
20.PHONY: strings structassign nullret
1d239d69 21.PHONY: tainted typequals ud ulstypes union unreachable unused ullint unsignedcompare void
cc78dedd 22.PHONY: db1 db2 db3 tests2.2 tests2.2a tests2.4 tests2.5
885824d3 23.PHONY: all test fulltest expects quicktest
15b3d2b2 24.PHONY: warnuse metastate
80ee600a 25.PHONY: linked freearray
e4c9f289 26.PHONY: sizeoftest
01b933c3 27.PHONY: bufferTest
28.PHONY: simplebufferConstraintTests
80ee600a 29.PHONY: moreBufferTests
754e4dbd 30.PHONY: maxset
31.PHONY: globalbufferannotation
32.PHONY: strchr
33.PHONY: for
885824d3 34
35.SUFFIXES: .out .expect .c .lcl .h .lh .diff
36
37SHELL = /bin/csh -f
38
39# Command to run lclint
b7b694d6 40# ${HOME}/LCLintDev/src/lclint
41LCLINT = lclint
885824d3 42LCLINTP = $(LCLINT)
43
44# Make sure .lclintrc files are not used so test results do not
45# depend on local settings.
46LCLINTRN = $(LCLINTP) -nof -hints -booltype "bool"
4109ede4 47LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint
885824d3 48
1d239d69 49# removed for now: nullret nullassign warnuse
50
b7e84605 51UNITTESTS = \
1d239d69 52 fileio tainted mergestate metastate \
b7e84605 53 help sizeoftest bufferTest simplebufferConstraintTests \
54 moreBufferTests globalbufferannotation maxset strchr for \
55 abstptr abstract alias alttypes ansireserved argorder args blocks break cases cast \
56 charlit clauses commentchar compdestroy constannot controldepth csyntax czechnames czechoslovaknames deadparam \
57 decl enum exports external fields flags forbody format freearray funcpointer glob globals impabstract \
58 init inparam internal iter keep libs linked lintcomments list macros macrosef merge modifies \
59 modtest moduncon mongoincludes mystrncat noeffect null observer oldstyle \
1d239d69 60 outglob outparam postnotnull preds prefixes \
b7e84605 61 printflike rc refcounts release repexpose returned sharing slovaknames specclauses special stack \
62 staticarray strings structassign \
1d239d69 63 typequals ud ulstypes union unreachable unsignedcompare unused ullint void \
b7e84605 64 tests2.2 tests2.2a tests2.4 tests2.5
885824d3 65
15b3d2b2 66###
67### Attribute checking is not ready for the 3.0.0.9 alpha release:
68###
4109ede4 69
15b3d2b2 70#drl removed the following tests
71#fileio tainted mergestate nullret nullassign warnuse metastate \
4109ede4 72
885824d3 73UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))
74
75INTEGTESTS = db1 db2 db3
76INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS))
77
78LCLINTTESTS = $(UNITTESTS) $(INTEGTESTS)
79
3120b462 80QUICKTESTS = db3
81
885824d3 82all: fulltest
83test: fulltest
84
85GREP = grep
86DIFF = diff
b7b694d6 87
88###
89### This is a kludgey way of processing the output to make it match exactly
90###
91
92CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "make -e" | $(GREP) -v "make\[" | $(GREP) -v "lclint -nof" | $(GREP) -v "make -e" | $(GREP) -v $(HOME)
885824d3 93
94### not real .c
95
96.c.expect:
97 $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).expect ; \
98 cat $(*).expect
99
100.c.diff:
101 $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).out ; \
102 diff $(*).expect $(*).out
103
104expects:
105 echo "Saving old expects: " ; \
106 more *.expect | cat > expects-`date +"%y-%m-%d-%H"`
107 @$(foreach test, $(UNITTESTS), \
108 echo "Making "$(test)".expect: " ; \
109 $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
110 cat $(test).expect ; )
111 @echo "Integration Tests"
112 @$(foreach test, $(INTEGTESTS), \
113 echo "Making "$(test)".expect: "; \
114 $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
115 cat $(test).expect ; )
116
3120b462 117quicktest:
118 @$(foreach test, $(QUICKTESTS), \
119 echo "Checking "$(test)"... " ; \
120 $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
121 $(DIFF) $(test).expect $(test).out ; \
122 if ($$status) echo "*** FAIL ***" ; \
123 )
885824d3 124fulltest:
125 @echo ''
126 @echo 'Testing '$(LCLINTP)
127 @echo ''
128 @echo 'Version:'
129 @echo ''
130 @$(LCLINTP) -help version
131 @$(LCLINTP) -help vars
132 @echo ''
133 @echo "Unit Tests:"
134 @echo ''
135 @$(foreach test, $(UNITTESTS), \
136 echo "Checking "$(test)"... " ; \
137 $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
138 $(DIFF) $(test).expect $(test).out ; \
139 if ($$status) echo "*** FAIL ***" ; \
140 )
141 @echo ''
142 @echo "Integration Tests"
143 @echo ''
144 @$(foreach test, $(INTEGTESTS), \
145 echo "Checking "$(test)"... "; \
146 $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
147 $(DIFF) $(test).expect $(test).out ; )
148
885824d3 149###
150### Unit Tests
151###
152
153version:
154 -$(LCLINTP) -help version
155
156help:
157 -@$(LCLINTP)
158 -@setenv LARCH_PATH "/dev/null"; $(LCLINTP) empty.lcl
159 -@$(LCLINTP) -help
160 -@$(LCLINTP) -asdf
161 -@$(LCLINTP) +boolint +boolint
162 -@$(LCLINTP) -help flags alpha
163 -@$(LCLINTP) -help flags all
164
165abstptr:
166 $(LCLINTR) abstptr -expect 9
167 $(LCLINTR) abstptr +voidabstract -expect 6
168
169abstract:
170 $(LCLINTR) abst_t.lcl commentcmd.c -expect 15
171
172alias:
173 $(LCLINTR) +lh mut
174 $(LCLINTR) mut alias +globalias -expect 19
175 $(LCLINTR) mut alias2 +globalias -expect 17
176 $(LCLINTR) +lh alias3 -expect 14
177 $(LCLINTR) +lh alias4 +boolint
178 $(LCLINTR) alias4 -pred +retalias -expect 6
179 $(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5
180
181alttypes:
182 $(LCLINTR) alttypes.c -expect 2
183
80ee600a 184###
185### evans 2001-06-07 - updated nameCheck.c to reflect C9X.
186### Reports one new errors for ansireserved.c - wctomb is bad even as a local variable.
187### (could be a macro?)
188### Reports 3 additional errors for +checks; no longer suppresses name errors in the
189### presense of other errors.
190###
191
885824d3 192ansireserved:
80ee600a 193 $(LCLINTR) ansireserved.c +ansireserved -nolib -expect 9
885824d3 194 $(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
80ee600a 195 $(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12
196 $(LCLINTR) ansireserved2.c +ansireserved -expect 1
885824d3 197
198argorder:
199 $(LCLINTR) argorder.c -expect 4
200 $(LCLINTR) argorder2 -expect 5
201 $(LCLINTR) argorder3.c -expect 8
202 $(LCLINTR) argorder4 -expect 9
203 $(LCLINTR) argorder4 -evalorder -expect 1
204 $(LCLINTR) argorder5.c +evalorderuncon -expect 3
205
206args:
207 $(LCLINTR) args -noeffect -expect 12
208
209blocks:
210 $(LCLINTR) blocks.c -expect 4
211 $(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7
212 $(LCLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3
213 $(LCLINTR) blocks.c -ifempty +forempty +forblock -expect 3
214 $(LCLINTR) blocks.c +allempty -expect 6
215 $(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
216
217break:
218 $(LCLINTR) break.c -expect 4
219 $(LCLINTR) break.c +deepbreak -expect 6
220 $(LCLINTR) break.c +deepbreak -looploopbreak -expect 5
221
222cases:
223 $(LCLINTR) cases.c -expect 5
224 $(LCLINTR) cases2.c -expect 2
225 $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
226 $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
227
228cast:
229 $(LCLINTR) cast -accessmodule -expect 20
230 $(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
231
cc78dedd 232### Two addition errors detected with 2.5 with -numliteral.
233
885824d3 234charlit:
235 $(LCLINTR) +hints charlit.c -expect 4
cc78dedd 236 $(LCLINTR) +hints -numliteral charlit.c -expect 6
885824d3 237 $(LCLINTR) +hints charlit.c +charintliteral +ignoresigns
238
239clauses:
240 $(LCLINTR) clauses.c +memchecks -expect 4
241 $(LCLINTR) clauses2.c +memchecks
242 $(LCLINTR) clauses3.c +memchecks -expect 2
243 $(LCLINTR) clauses3.c +memchecks +unixlib -expect 3
244
245commentchar:
246 $(LCLINTR) commentchar.c -expect 4
247 $(LCLINTR) -commentchar '#' commentchar.c -expect 4
248
249controldepth:
250 $(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
251 $(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
252
253compdestroy:
254 $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
255 $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
256 $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
257 $(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
258
b9904f57 259constannot:
4109ede4 260 ${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2
b9904f57 261
885824d3 262csyntax:
cc78dedd 263 $(LCLINTR) +quiet -incondefs csyntax.c -expect 1
264 $(LCLINTR) +quiet csyntax2.c -expect 2
265 $(LCLINTR) +quiet csyntax3.c -expect 1
885824d3 266 $(LCLINTR) +quiet -incondefs csyntax4.c
267 $(LCLINTR) +quiet csyntax5.c
268 $(LCLINTR) +quiet csyntax6.c
269 $(LCLINTR) +quiet csyntax7.c
270 $(LCLINTR) +quiet csyntax8.c
271 $(LCLINTR) +quiet csyntax9.c
272 $(LCLINTR) +quiet csyntax10.c
273 $(LCLINTR) +quiet csyntax11.c
274 $(LCLINTR) +quiet csyntax12.c
cc78dedd 275 $(LCLINTR) +quiet csyntax13.c -expect 1
885824d3 276 $(LCLINTR) +quiet csyntax14.c
277 $(LCLINTR) +quiet csyntax15.c
cc78dedd 278 $(LCLINTR) +quiet csyntax16.c -expect 2
279 $(LCLINTR) +quiet csyntax17.c -expect 3
885824d3 280
281czechnames:
282 $(LCLINTR) czechnames.c
283 $(LCLINTR) +hints +czech czechnames.c -expect 2
284 $(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1
285 $(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6
286
287czechoslovaknames:
288 $(LCLINTR) +hints +czechoslovak czechnames.c -expect 1
289 $(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1
290 $(LCLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2
291
80ee600a 292###
293### deadparam added 2001-05-27
294###
295
296deadparam:
297 ${LCLINTR} deadparam.c -expect 3
298
885824d3 299#
300# Was expect 3 before 2.4. Earlier versions did not handle implicit
301# function pointers correctly.
302#
303
304decl:
305 $(LCLINTR) decl.c -expect 2
306 $(LCLINTRN) decl.c +strict -exportlocal -expect 5
307 $(LCLINTR) decl2 -expect 4
308
309enum:
310 $(LCLINTR) enum -expect 16
311 $(LCLINTR) enum -misscase -expect 14
312
313exports:
314 $(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
315 $(LCLINTR) exports.c +exportany -expect 3
316 $(LCLINTR) exports.c
317
318external:
319 $(LCLINTR) external.c +partial
320 $(LCLINTR) external.c +partial +distinctexternalnames -expect 2
321 $(LCLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3
322 $(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
323 $(LCLINTR) external.c +partial -externalnamelength 3 -expect 4
324
325fields:
326 $(LCLINTR) fields.c +memchecks -expect 6
327 $(LCLINTR) fields2.c +memchecks -expect 5
328 $(LCLINTR) fields3.c +memchecks
329
330flags:
331 $(LCLINTR) flags.c -expect 8
332 $(LCLINTR) +nocomments flags.c -expect 2
333
80ee600a 334### Added 2001-06-02
335
336forbody:
337 ${LCLINTR} forbody.c -expect 2
338
339### Added 2001-06-03
340format:
341 ${LCLINTR} format.c -expect 3
342 ${LCLINTR} format.c -formatconst
343
885824d3 344# two new errors (invalid lhs)
345
346funcpointer:
347 $(LCLINTR) +memchecks +noparams funcpointer.c -expect 18
348
349glob:
350 $(LCLINTR) glob -expect 4
351 $(LCLINTR) glob -globuse -expect 3
352 $(LCLINTR) glob +globunspec -expect 6
353
354globals:
355 $(LCLINTR) -modifies globals.c -expect 5
356 $(LCLINTR) -modifies globals.c +allglobals -expect 6
357 $(LCLINTR) -modifies globals.c +impcheckedglobals -expect 6
358 $(LCLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2
359 $(LCLINTR) -modifies globals.c +globunspec -expect 6
360 $(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8
361
80ee600a 362# Was -accessfile
363impabstract:
364 $(LCLINTR) -accessmodule impabstract.c
365 $(LCLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2
366 $(LCLINTR) -accessmodule +hints +impabstract impabstract -expect 4
885824d3 367
368init:
369 $(LCLINTR) init.c -expect 12
370 $(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 15
371
372inparam:
373 $(LCLINTR) inparam.c -expect 2
374 $(LCLINTR) +impouts inparam.c -expect 1
375
376internal:
377 $(LCLINTR) internal.c -expect 1
378 $(LCLINTR) internal.c +distinctinternalnames -expect 2
379 $(LCLINTR) internal.c -internalnamelen 28 -expect 3
380 $(LCLINTR) internal.c +internalnamecaseinsensitive -expect 3
381 $(LCLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11
382
80ee600a 383###
384### iter
385### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6
386###
387
885824d3 388iter:
389 $(LCLINTR) iter -expect 14 -lclexpect 1
390 $(LCLINTR) iter2.c -expect 12
391
392keep:
393 $(LCLINTR) keep.c +memchecks -expect 6
394
80ee600a 395### libs
396### 2001-05-22: 2 new errors found (fixed spec of signal)
397### 2001-05-30: 3 new errors found (formatconst)
885824d3 398
399libs:
80ee600a 400 $(LCLINTR) libs.c +longunsignedunsignedintegral -expect 18
401 $(LCLINTR) libs.c -expect 22
402 $(LCLINTR) libs.c +globunspec +modunspec -expect 25
403 $(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 42
885824d3 404
405lintcomments:
406 $(LCLINTR) lintcomments.c -expect 4
407 $(LCLINTR) lintcomments.c -warnlintcomments -expect 1
408 $(LCLINTR) lintcomments.c -lintcomments -expect 4
409
410list:
411 $(LCLINTR) list.c -expect 3
412
413macros:
414 $(LCLINTR) macros -expect 17
415 $(LCLINTR) macros.c +allmacros -expect 34
416 $(LCLINTR) macros.c +fcnmacros -expect 31
417
418
419macrosef:
420 $(LCLINTR) macrosef -expect 4
421 $(LCLINTR) macrosef.c +allmacros -expect 3
422 $(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4
423
424merge:
425 $(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
426
427modifies:
428 $(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
429
430modtest:
431 $(LCLINTR) modtest -expect 10
432 $(LCLINTR) modtest +modunspec -expect 13
433 $(LCLINTR) modtest +mustmod -expect 14
434
435moduncon:
436 $(LCLINTR) moduncon.c +moduncon -memchecks -expect 4
437 $(LCLINTRN) moduncon.c +strict -exportlocal -expect 22
438
439mongoincludes:
440 $(LCLINTR) mongoincludes.c -includenest 1 -expect 19
441 $(LCLINTR) mongoincludes.c -includenest 2 -expect 10
442 $(LCLINTR) mongoincludes.c -includenest 3 -expect 4
443 $(LCLINTR) mongoincludes.c -includenest 4 -expect 1
444 $(LCLINTR) mongoincludes.c -includenest 5 -expect 0
445
3120b462 446mystrncat:
4109ede4 447 $(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4
3120b462 448
ccf0a4a8 449noeffect:
b7b694d6 450 ${LCLINT} -nof noeffect.c +allmacros +checks -expect 3
ccf0a4a8 451
885824d3 452null:
453 $(LCLINTR) null1.c -expect 14
454 $(LCLINTR) null1.c -null -expect 4
455 $(LCLINTR) null2.c -expect 10
456 $(LCLINTR) null3.c -expect 15
457 $(LCLINTR) null3.c -warnunixlib +unixlib -expect 16
458 $(LCLINTR) null4.c -expect 1
459 $(LCLINTR) null5.c -expect 4
460 $(LCLINTR) null6 -expect 4
461 $(LCLINTR) +quiet null6.lcl -dump null6
462 $(LCLINTR) null6.c -load null6 -expect 4
463
80ee600a 464### Added for 3.0 (bugs reported by Kevin Broady)
465
466nullret:
467 $(LCLINTR) nullret.c -expect 2
468 $(LCLINTR) -nullret nullret.c -expect 1
469
470nullassign:
471 $(LCLINTR) nullassign.c -expect 2
472 $(LCLINTR) -nullassign nullassign.c -expect 1
473
474
885824d3 475#
476# Before 2.4, expected one more because error was reported both as
477# dependent and observer.
478#
479
480observer:
481 $(LCLINTRN) observer +checks -exportlocal -exportheader -expect 9
482 $(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 8
483 $(LCLINTR) observer.c -expect 7
484
485oldstyle:
486 $(LCLINTR) oldstyle -expect 3
487
488outglob:
489 $(LCLINTR) outglob -expect 10
490
491outparam:
492 $(LCLINTR) outparam -expect 12
493
1d239d69 494### evans 2001-08-26: postnotnull new
495
496postnotnull:
497 ${LCLINTR} postnotnull.c -expect 1
efd360a3 498#
499# Four new +fcnuse errors for -strict (evans 2001-07-22)
500#
501
885824d3 502preds:
503 $(LCLINTR) +hints preds.c -expect 6
504 $(LCLINTRN) +hints preds.c -weak -expect 1
efd360a3 505 $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12
885824d3 506
507prefixes:
508 $(LCLINTR) prefixes.c +partial
509 $(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
510 $(LCLINTR) prefixes.c -typeprefix "T" -expect 2
511 $(LCLINTR) prefixes.c -typeprefix "^" -expect 1
512 $(LCLINTR) prefixes.c -typeprefix "^*" -expect 2
513 $(LCLINTR) prefixes.c -typeprefix "^%*" -expect 2
514 $(LCLINTR) prefixes.c -typeprefix "^~*" -expect 2
515 $(LCLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7
516 $(LCLINTR) prefixes.c -filestaticprefix "^^" -expect 4
517 $(LCLINTR) prefixes.c -filestaticprefix "^#" -expect 5
518 $(LCLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5
519 $(LCLINTR) prefixes.c -globalprefix "G" -expect 1
520 $(LCLINTR) prefixes.c -globalprefix "&G?_^" -expect 1
521 $(LCLINTR) prefixes.c -externalprefix "G" -expect 5
522 $(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
523 $(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
524
525printflike:
526 $(LCLINTR) printflike.c -expect 6
527 $(LCLINTR) printflike.c -warnlintcomments -expect 5
528
529rc:
cc78dedd 530 $(LCLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
531 $(LCLINTR) -DMYSTERY=12 rc.c -expect 1
532 $(LCLINTR) -f rc1.lclintrc rc.c -expect 1
533 $(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1
534 $(LCLINTR) -f rc3.lclintrc rc.c -expect 1
885824d3 535
536refcounts:
537 $(LCLINTR) refcounts.c -expect 7
538
539release:
540 $(LCLINTR) release.c +memchecks -expect 1
541
542repexpose:
543 $(LCLINTR) +lh repexpose +memchecks -expect 12
544 $(LCLINTR) repexpose +memchecks +retalias -expect 15
545 $(LCLINTRN) repexpose +checks -exportlocal -expect 27
546
80ee600a 547### returned added 2001-05-27
548### (Bug discovered checking lclint sources.)
549
550returned:
551 ${LCLINTR} returned.c -expect 1
552
885824d3 553sharing:
554 $(LCLINTR) sharing1.c -expect 21
555 $(LCLINTR) sharing3.c -expect 3
556 $(LCLINTR) sharing4.c -expect 13
557 $(LCLINTR) sharing4.c -paramimptemp -expect 12
558 $(LCLINTR) sharing5.c -expect 6
559
560slovaknames:
561 $(LCLINTR) +hints slovaknames.c -expect 1
562 $(LCLINTR) +hints slovaknames.c +accessslovak
563 $(LCLINTR) +hints +slovak slovaknames.c -expect 3
564 $(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
565 $(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
566
567specclauses:
568 $(LCLINTR) specclauses.c -expect 6
569 $(LCLINTR) specclauses2.c -expect 8
570 $(LCLINTR) specclauses3.c -expect 6
571 $(LCLINTR) specclauses4.c -expect 3
572 $(LCLINTR) specclauses5.c -expect 3
573
574special:
575 $(LCLINTR) special -expect 20
576 $(LCLINTR) special -relaxquals -expect 22
577
578stack:
579 $(LCLINTR) stack.c -expect 5
580 $(LCLINTR) stack.c -stackref
581
582staticarray:
583 $(LCLINTR) staticarray.c -expect 3
584
585strings:
586 $(LCLINTR) strings.c -expect 3
587 $(LCLINTR) -readonlystrings -expect 1 strings.c
588 $(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c
589
590structassign:
591 $(LCLINTR) structassign.c -expect 4
592
593typequals:
594 $(LCLINTR) typequals.c tq.lcl -expect 5
595 $(LCLINTR) typequals.c -expect 2
596
597ud:
598 $(LCLINTR) ud.c -expect 9
599 $(LCLINTR) ud2 -specundef -expect 3
600
601ulstypes:
602 $(LCLINTR) ulstypes.c -expect 8
603 $(LCLINTR) ulstypes.c +ignorequals
604 $(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28
cc78dedd 605# 3 more detected with version 2.5 (change in -numliteral setting)
885824d3 606
607union:
608 $(LCLINTR) +memchecks union.c -expect 8
609
610unreachable:
611 $(LCLINTR) unreachable.c -expect 5
612 $(LCLINTR) -unreachable unreachable.c -expect 2
613 $(LCLINTR) switch.c -expect 4
614
1d239d69 615unsignedcompare:
616 ${LCLINT} +posixlib unsignedcompare.c -expect 2
617
618
80ee600a 619###
620### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks
621###
622
885824d3 623unused:
80ee600a 624 $(LCLINTRN) unused.c +checks -exportlocal -expect 5
625 $(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 8
626
627###
628### 2001-06-10: Provided by Jim Zalenka
629###
630
631ullint:
632 ${LCLINTRN} ullint.c -expect 5
633 ${LCLINTRN} ullint.c +charint +charintliteral -expect 2
634
635void:
636 ${LCLINTRN} void.c -expect 2
637
638###
639### New since 2.5q:
640###
641
642linked:
643 ${LCLINTR} linked.c -expect 4
644 ${LCLINTR} linked2.c -expect 3
645 ${LCLINTR} linked3.c -expect 5
646 ${LCLINTR} linked4.c -expect 6
647 ${LCLINTR} linked5.c -expect 4
648 ${LCLINTR} linked6.c -expect 4
649
650freearray:
651 ${LCLINTR} freearray.c -expect 1
885824d3 652
653###
654### Bugs fixed and new features since version 2.1b
655###
656
657tests2.2:
dfd82dce 658 @echo " Note: expect difference in name of unclosed file."
80ee600a 659 setenv LCLINT '$(LCLINTRN)'; cd tests2.2 ; $(MAKE) -e
885824d3 660
661tests2.2a:
662 @cd tests2.2a ; \
663 $(LCLINTR) erik.c -expect 1 ; \
664 $(LCLINTR) boolcomp.c -expect 5 ; \
665 $(LCLINTR) boolenum.c ; \
666 $(LCLINTR) addassign.c -expect 1; \
667 $(LCLINTR) toralf.c -expect 5 ; \
668 $(LCLINTR) fred.c -booltype Bool ; \
669 $(LCLINTR) sizeof.c ; \
670 $(LCLINTR) arrayparam.c -expect 5 ; \
671 $(LCLINTR) notreached.c ; \
cc78dedd 672 $(LCLINTR) duff.c -casebreak -firstcase ; \
885824d3 673 $(LCLINTR) obviousloop.c -expect 4 ; \
674 $(LCLINTR) bitops.c +bitwisesigned -expect 11 ; \
675 $(LCLINTR) bitops.c -expect 5 ; \
676 $(LCLINTR) isalpha.c +strictlib -expect 1 ; \
677 $(LCLINTR) isalpha.c -expect 1 ; \
678 $(LCLINTR) dobb.c ; \
679 $(LCLINTR) popik.c -expect 11
680
681tests2.4:
80ee600a 682 setenv LCLINT '$(LCLINTRN)'; cd tests2.4 ; $(MAKE) -e
885824d3 683
e4c9f289 684sizeoftest:
685 @cd sizeoftest; \
4109ede4 686 $(LCLINTR) +arraybounds +arrayboundsread sizeof.c
1ac6313d 687
01b933c3 688bufferTest:
689 @cd bufferTest; \
4109ede4 690 $(LCLINTR) +arraybounds +arrayboundsread test4.c test6.c
01b933c3 691
692simplebufferConstraintTests:
693 @cd simplebufferConstraintTests; \
4109ede4 694 $(LCLINTR) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c
01b933c3 695
80ee600a 696moreBufferTests:
697 @cd moreBufferTests; \
4109ede4 698 $(LCLINTR) +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c
80ee600a 699
754e4dbd 700maxset:
701 @cd maxset; \
e83c79ec 702 $(LCLINTR) +arraybounds maxsetannotations.c; \
703 $(LCLINTR) +arraybounds maxsetnoannotations.c -expect 1
754e4dbd 704
705globalbufferannotation:
706 @cd globalbufferannotation; \
4109ede4 707 $(LCLINTR) +arraybounds +arrayboundsread globalvariable.c
754e4dbd 708
709strchr:
710 @cd strchr; \
0bf5022d 711 $(LCLINTR) +arraybounds +arrayboundsread strchr.c -expect 2
754e4dbd 712
713for:
714 @cd for; \
4109ede4 715 $(LCLINTR) +arraybounds +arrayboundsread for.c
754e4dbd 716
cc78dedd 717tests2.5:
718 setenv LCLINT '$(LCLINTRN)'; cd tests2.5 ; $(MAKE) -e
719
80ee600a 720metastate:
721 setenv LCLINT '$(LCLINTRN)'; cd metastate ; $(MAKE) -e
722
12f2ffe9 723mergestate:
724 setenv LCLINT '$(LCLINTRN)'; cd mergestate ; $(MAKE) -e
725
990ec868 726tainted:
727 setenv LCLINT '$(LCLINTRN)'; cd tainted ; $(MAKE) -e
728
60eced23 729fileio:
730 setenv LCLINT '$(LCLINTRN)'; cd fileio ; $(MAKE) -e
731
80ee600a 732warnuse:
733 setenv LCLINT '$(LCLINTRN)'; cd warnuse ; $(MAKE) -e
734
d9a28762 735ensuresclauses:
736 setenv LCLINT '$(LCLINTRN)'; cd ensuresclauses ; $(MAKE) -e
737
885824d3 738###
739### Integration Tests
740###
741
742db1:
743 setenv LCLINT '$(LCLINTRN)'; cd db1; $(MAKE) -e test
744
80ee600a 745
746### evans 2000-12-22
747### 2 errors are no longer reported, since eref is immutable.
748### Need to clarify what it means for an object to be immutable;
749### there should be 2 types with different storage requirements.
750
885824d3 751db2:
752 setenv LCLINT '$(LCLINTRN)'; cd db2; $(MAKE) -e test
753
754db3:
755 setenv LCLINT '$(LCLINTRN)'; cd db3; $(MAKE) -e test
756
885824d3 757clean:
758 -rm -f *~ #*# *.o *.lcs a.out
759 -cd db1 ; $(MAKE) clean
760 -cd db2 ; $(MAKE) clean
761 -cd db3 ; $(MAKE) clean
762
763
764
cc78dedd 765
This page took 7.715347 seconds and 5 git commands to generate.