X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/6483a926b0a93de3a67ec1a55ee121aa905542dd..5b99bfd6792ab9229bb5b1d9048833d21b22ecef:/src/Makefile.am diff --git a/src/Makefile.am b/src/Makefile.am index 72c7f52..86f467f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -40,19 +40,20 @@ CSRC = context.c uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \ stateClauseList.c ctype.c cvar.c clabstract.c idDecl.c clause.c \ globalsClause.c modifiesClause.c warnClause.c functionClause.c \ functionClauseList.c metaStateConstraint.c metaStateConstraintList.c \ - metaStateExpression.c metaStateSpecifier.c functionConstraint.c + metaStateExpression.c metaStateSpecifier.c functionConstraint.c \ + pointers.c cscannerHelp.c -SPLINTSRC = exprNode.c exprChecks.c llmain.c +SPLINTSRC = exprNode.c exprChecks.c llmain.c help.c rcfiles.c CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c GLOBSRC = globals.c flags.c general.c osd.c reader.c mtreader.c GRAMSRC = cgrammar.c cscanner.c mtscanner.c mtgrammar.c llgrammar.c signature.c -OVERFLOWCHSRC = constraintGeneration.c constraintTerm.c \ +OVERFLOWCHSRC = constraintList.c constraintResolve.c \ + constraintGeneration.c constraintTerm.c \ constraintExprData.c constraintExpr.c constraint.c \ - constraintList.c constraintResolve.c \ - constraintOutput.c loopHeuristics.c + loopHeuristics.c GENERALSRC = exprData.c cstring.c fileloc.c message.c inputStream.c \ fileTable.c cstringTable.c valueTable.c stateValue.c \ @@ -90,7 +91,6 @@ LCLLISTSRC = initDeclNodeList.c sortList.c declaratorInvNodeList.c \ varDeclarationNodeList.c varNodeList.c quantifierNodeList.c \ replaceNodeList.c importNodeList.c - HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/abstract.h Headers/macrocache.h \ Headers/abstractNode.h Headers/mapping.h \ @@ -141,7 +141,7 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/declaratorInvNodeList.h Headers/pairNodeList.h \ Headers/declaratorNode.h Headers/paramNode.h \ Headers/declaratorNodeList.h Headers/paramNodeList.h \ - Headers/dmalloc.h Headers/portab.h \ + Headers/dmalloc.h Headers/osd.h \ Headers/ekind.h Headers/pp.h \ Headers/enumNameList.h Headers/privateNode.h \ Headers/enumNameSList.h Headers/programNode.h \ @@ -153,7 +153,7 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/exprNode.h Headers/quantifierNode.h \ Headers/exprNodeList.h Headers/quantifierNodeList.h \ Headers/exprNodeSList.h Headers/randomNumbers.h \ - Headers/fcnNode.h \ + Headers/fcnNode.h Headers/rcfiles.h \ Headers/fcnNodeList.h Headers/reader.h \ Headers/fileId.h Headers/refTable-branch.h \ Headers/fileIdList.h Headers/renamingNode.h \ @@ -211,11 +211,11 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/letDeclNodeList.h Headers/typeNameNodeList.h \ Headers/lh.h Headers/typeNamePack.h \ Headers/limwr.h Headers/typeNode.h \ - Headers/llbasic.h Headers/uentry.h \ + Headers/uentry.h \ Headers/llerror.h Headers/uentryList.h \ Headers/llglobals.h Headers/usymId.h \ Headers/llgrammar2.h Headers/usymIdSet.h \ - Headers/llgrammar_gen2.h Headers/usymtab-branch.h \ + Headers/llgrammar_gen2.h \ Headers/llgrammar_gen.h Headers/usymtab.h \ Headers/llgrammar.h Headers/usymtab_interface.h \ Headers/llmain.h Headers/valueMatrix.h \ @@ -228,7 +228,9 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/lsymbol.h Headers/version.h \ Headers/lsymbolList.h Headers/warnClause.h \ Headers/lsymbolSet.h Headers/ynm.h \ - Headers/ltoken.h Headers/splintMacros.nf + Headers/ltoken.h Headers/splintMacros.nf \ + Headers/typeId.h \ + Headers/pointers.h Headers/mstring.h Headers/help.h IFILES = ctbase.i cttable.i exprDataQuite.i @@ -236,7 +238,10 @@ IFILES = ctbase.i cttable.i exprDataQuite.i ## Non-built files we need to distribute EXTRA_DIST = $(BISON_SRC) bison.head bison.reset $(HEADERSRC) \ flags.def cscanner.l flex.head flex.reset $(IFILES) \ - Headers/256_random_numbers.nf Headers/splintMacros.nf Headers/reservedNames.nf Makefile.binary.am Makefile.binary.in + .splintrc LICENSE \ + Headers/cscannerHelp.h \ + Headers/256_random_numbers.nf Headers/splintMacros.nf Headers/reservedNames.nf +#Makefile.binary.am Makefile.binary.in #Files that are used on systems that do not have bison or yacc @@ -251,7 +256,8 @@ COMMONSRC = $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \ ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(OVERFLOWCHSRC) $(DER_FILES) $(HEADERSRC) #files to run Splint on -LINTSRC = $(COMMONSRC) $(SPLINTSRC) +LINTSRC = $(COMMONSRC) $(SPLINTSRC) +# cscanner.c cgrammar.c #ALLSRC = $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) @@ -279,6 +285,19 @@ BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \ ## Grammars +signature.c.der: + @if test x$(BISON) = xno; then \ + echo "Cannot make signature.c.der because bison is not here" \ + else \ + echo '* Making signature.c'; \ + $(BISON) $(YFLAGS) -p lsl signature.y; \ + $(CAT) bison.head signature.tab.c bison.reset >signature.c; \ + $(CP) signature.c signature.c.der; \ + $(MV) Headers/signature_gen.h Headers/signature_gen.bak || true; \ + $(CAT) bison.head signature.tab.h bison.reset >Headers/signature_gen.h; \ + $(RM) signature.tab.c signature.tab.h; \ + fi + Headers/signature_gen.h signature.c: signature.c.der signature.y @if test x$(BISON) = xno; then \ $(CP) signature.c.der signature.c; \ @@ -294,18 +313,17 @@ Headers/signature_gen.h signature.c: signature.c.der signature.y ## 11/29/001 drl added copy so that the file cgrammar.c.der is created -Headers/cgrammar_tokens.h cgrammar.c: cgrammar.c.der cgrammar.y +Headers/cgrammar_tokens.h cgrammar.c: cgrammar.c.der cgrammar.y bison.head bison.reset @if test x$(BISON) = xno; then \ $(CP) cgrammar.c.der cgrammar.c; \ else \ echo '* Making cgrammar.c'; \ - echo '* Expect 154 shift/reduce conflicts and 115 reduce/reduce conflicts.'; \ - echo '* (see cgrammar.y for explanation)'; \ + echo '* Note: Expect 157 shift/reduce conflicts and 123 reduce/reduce conflicts. (see cgrammar.y for explanation)'; \ $(BISON) $(YFLAGS) cgrammar.y; \ - $(CAT) bison.head cgrammar.tab.c bison.reset >cgrammar.c; \ + $(CAT) bison.head cgrammar.tab.c bison.reset | $(SED) 's/YYSTYPE/cgrammar_YYSTYPE/g' | $(SED) 's/lsllex/cgrammar_lsllex/g' > cgrammar.c; \ $(CP) cgrammar.c cgrammar.c.der; \ - $(MV) Headers/cgrammar_tokens.h Headers/cgrammar_tokens.bak; \ - $(CAT) bison.head cgrammar.tab.h bison.reset >Headers/cgrammar_tokens.h; \ + $(MV) Headers/cgrammar_tokens.h Headers/cgrammar_tokens.bak || true; \ + $(CAT) bison.head cgrammar.tab.h bison.reset | $(SED) 's/YYSTYPE/cgrammar_YYSTYPE/g' | $(SED) 's/lsllex/cgrammar_lsllex/g' > Headers/cgrammar_tokens.h; \ $(RM) cgrammar.tab.c cgrammar.tab.h; \ fi @@ -317,7 +335,7 @@ Headers/mtgrammar_tokens.h mtgrammar.c: mtgrammar.y $(CP) mtgrammar.c.der mtgrammar.c; \ else \ echo '* Making mtgrammar.c'; \ - echo '* Expect 11 shift/reduce conflicts.'; \ + echo '* Note: Expect 11 shift/reduce conflicts.'; \ $(BISON) $(YFLAGS) -p mt mtgrammar.y; \ $(CAT) bison.head mtgrammar.tab.c bison.reset >mtgrammar.c; \ $(CP) mtgrammar.c mtgrammar.c.der; \ @@ -333,7 +351,7 @@ Headers/llgrammar_gen.h Headers/llgrammar_gen2.h llgrammar.c: llgrammar.c.der ll $(CP) llgrammar.c.der llgrammar.c; \ else \ echo '* Making llgrammar.c'; \ - echo '* Expect 2 shift/reduce conflicts'; \ + echo '* Note: Expect 2 shift/reduce conflicts'; \ $(BISON) $(YFLAGS) -p yl llgrammar.y; \ $(CAT) bison.head llgrammar.tab.c bison.reset >llgrammar.c; \ $(CP) llgrammar.c llgrammar.c.der; \ @@ -346,7 +364,7 @@ Headers/llgrammar_gen.h Headers/llgrammar_gen2.h llgrammar.c: llgrammar.c.der ll cscanner.c: cscanner.l $(LEX) $(LFLAGS) cscanner.l - $(CAT) flex.head @LEX_OUTPUT_ROOT@.c flex.reset > cscanner.c + $(CAT) flex.head @LEX_OUTPUT_ROOT@.c flex.reset | $(SED) 's/YYSTYPE/cgrammar_YYSTYPE/g' | $(SED) 's/lsllex/cgrammar_lsllex/g' > cscanner.c Headers/flag_codes.gen: flags.def grep "FLG_" flags.def > Headers/flag_codes.gen @@ -367,6 +385,10 @@ nocheck: test: ${MAKE} ; cd ../test; ${MAKE} --no-print-directory +.PHONY: libs +libs: + ${MAKE} ; cd ../lib; ${MAKE} --no-print-directory + ### Automake generates wrong tags .PHONY: etags etags: @@ -375,7 +397,20 @@ etags: lintnew: splintme splintme: - ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(OVERFLOWCHSRC) $(LINTSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw -mts tainted + +splintmebounds: + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(OVERFLOWCHSRC) $(LINTSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw -mts tainted +bounds +impboundsconstraints + +splintmesupcounts: + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(OVERFLOWCHSRC) $(LINTSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -fcnuse -incondefs -exportlocal -supcounts -constuse -mts file -mts filerw + +lintbuffercheck: + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw +bounds -DLINTBUFFERCHECK + +valsplint: + valgrind -v --leak-resolution=high --num-callers=20 --show-reachable=no --leak-check=yes ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw + splintsome: ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude lcllib.c -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw +partial @@ -386,12 +421,6 @@ splintsome: splinttest: ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude test.c +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw +keep +supcounts +partial -null - -lintbuffercheck: - ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ - +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ - -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +bounds +boundsread +implictconstraint -dLINTBUFFERCHECK - binDir = bin all: splint$(EXEEXT) ../$(top_builddir)/$(binDir)/splint$(EXEEXT)