home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / splint3s.zip / splint-3.0.1.6 / test / Makefile.os2 < prev    next >
Makefile  |  2002-02-16  |  23KB  |  803 lines

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