OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
RM = @RM@
+SED = @SED@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
CPPSRC = cppmain.c cpplib.c cppexp.c cpphash.c cpperror.c
-CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \
+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
-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 = context.c globals.c flags.c general.c osd.c reader.c mtreader.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
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 \
DER_FILES = $(DER_BISON_FILES)
-COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \
+COMMONSRC = $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \
$(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC)
-ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC)
+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)
CHECKS = $(subst .c,.check,$(splint_SOURCES))
-CLEANFILES = splint$(EXEEXT)
+binDir = bin
+
+CLEANFILES = splint$(EXEEXT) ../$(top_builddir)/$(binDir)/splint$(EXEEXT)
subdir = src
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
lcl_LDFLAGS =
am_splint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \
mtscanner.$(OBJEXT) mtgrammar.$(OBJEXT) llgrammar.$(OBJEXT) \
- signature.$(OBJEXT) constraintGeneration.$(OBJEXT) \
- constraintTerm.$(OBJEXT) constraintExprData.$(OBJEXT) \
- constraintExpr.$(OBJEXT) constraint.$(OBJEXT) \
- constraintList.$(OBJEXT) constraintResolve.$(OBJEXT) \
- constraintOutput.$(OBJEXT) loopHeuristics.$(OBJEXT) \
- cppmain.$(OBJEXT) cpplib.$(OBJEXT) cppexp.$(OBJEXT) \
- cpphash.$(OBJEXT) cpperror.$(OBJEXT) uentry.$(OBJEXT) \
- cprim.$(OBJEXT) macrocache.$(OBJEXT) qual.$(OBJEXT) \
- qtype.$(OBJEXT) stateClause.$(OBJEXT) stateClauseList.$(OBJEXT) \
- ctype.$(OBJEXT) cvar.$(OBJEXT) clabstract.$(OBJEXT) \
- idDecl.$(OBJEXT) clause.$(OBJEXT) globalsClause.$(OBJEXT) \
+ signature.$(OBJEXT) cppmain.$(OBJEXT) cpplib.$(OBJEXT) \
+ cppexp.$(OBJEXT) cpphash.$(OBJEXT) cpperror.$(OBJEXT) \
+ context.$(OBJEXT) uentry.$(OBJEXT) cprim.$(OBJEXT) \
+ macrocache.$(OBJEXT) qual.$(OBJEXT) qtype.$(OBJEXT) \
+ stateClause.$(OBJEXT) stateClauseList.$(OBJEXT) ctype.$(OBJEXT) \
+ cvar.$(OBJEXT) clabstract.$(OBJEXT) idDecl.$(OBJEXT) \
+ clause.$(OBJEXT) globalsClause.$(OBJEXT) \
modifiesClause.$(OBJEXT) warnClause.$(OBJEXT) \
functionClause.$(OBJEXT) functionClauseList.$(OBJEXT) \
metaStateConstraint.$(OBJEXT) metaStateConstraintList.$(OBJEXT) \
metaStateExpression.$(OBJEXT) metaStateSpecifier.$(OBJEXT) \
- functionConstraint.$(OBJEXT) structNames.$(OBJEXT) \
- transferChecks.$(OBJEXT) varKinds.$(OBJEXT) \
- nameChecks.$(OBJEXT) exprData.$(OBJEXT) cstring.$(OBJEXT) \
- fileloc.$(OBJEXT) message.$(OBJEXT) inputStream.$(OBJEXT) \
- fileTable.$(OBJEXT) cstringTable.$(OBJEXT) valueTable.$(OBJEXT) \
+ functionConstraint.$(OBJEXT) pointers.$(OBJEXT) \
+ structNames.$(OBJEXT) transferChecks.$(OBJEXT) \
+ varKinds.$(OBJEXT) nameChecks.$(OBJEXT) exprData.$(OBJEXT) \
+ cstring.$(OBJEXT) fileloc.$(OBJEXT) message.$(OBJEXT) \
+ inputStream.$(OBJEXT) fileTable.$(OBJEXT) \
+ cstringTable.$(OBJEXT) valueTable.$(OBJEXT) \
stateValue.$(OBJEXT) llerror.$(OBJEXT) messageLog.$(OBJEXT) \
flagMarker.$(OBJEXT) aliasTable.$(OBJEXT) ynm.$(OBJEXT) \
sRefTable.$(OBJEXT) genericTable.$(OBJEXT) ekind.$(OBJEXT) \
usymtab.$(OBJEXT) multiVal.$(OBJEXT) lltok.$(OBJEXT) \
sRef.$(OBJEXT) lcllib.$(OBJEXT) randomNumbers.$(OBJEXT) \
- fileLib.$(OBJEXT) context.$(OBJEXT) globals.$(OBJEXT) \
- flags.$(OBJEXT) general.$(OBJEXT) osd.$(OBJEXT) \
- reader.$(OBJEXT) mtreader.$(OBJEXT) clauseStack.$(OBJEXT) \
- filelocStack.$(OBJEXT) cstringList.$(OBJEXT) \
- cstringSList.$(OBJEXT) sRefSetList.$(OBJEXT) \
- ctypeList.$(OBJEXT) enumNameList.$(OBJEXT) \
- enumNameSList.$(OBJEXT) exprNodeList.$(OBJEXT) \
- exprNodeSList.$(OBJEXT) uentryList.$(OBJEXT) \
- fileIdList.$(OBJEXT) filelocList.$(OBJEXT) qualList.$(OBJEXT) \
- sRefList.$(OBJEXT) flagMarkerList.$(OBJEXT) \
+ fileLib.$(OBJEXT) globals.$(OBJEXT) flags.$(OBJEXT) \
+ general.$(OBJEXT) osd.$(OBJEXT) reader.$(OBJEXT) \
+ mtreader.$(OBJEXT) clauseStack.$(OBJEXT) filelocStack.$(OBJEXT) \
+ cstringList.$(OBJEXT) cstringSList.$(OBJEXT) \
+ sRefSetList.$(OBJEXT) ctypeList.$(OBJEXT) \
+ enumNameList.$(OBJEXT) enumNameSList.$(OBJEXT) \
+ exprNodeList.$(OBJEXT) exprNodeSList.$(OBJEXT) \
+ uentryList.$(OBJEXT) fileIdList.$(OBJEXT) filelocList.$(OBJEXT) \
+ qualList.$(OBJEXT) sRefList.$(OBJEXT) flagMarkerList.$(OBJEXT) \
idDeclList.$(OBJEXT) flagSpec.$(OBJEXT) globSet.$(OBJEXT) \
intSet.$(OBJEXT) typeIdSet.$(OBJEXT) guardSet.$(OBJEXT) \
usymIdSet.$(OBJEXT) sRefSet.$(OBJEXT) stateInfo.$(OBJEXT) \
mtLoseReference.$(OBJEXT) mtDefaultsDeclList.$(OBJEXT) \
mtDefaultsDecl.$(OBJEXT) mtMergeItem.$(OBJEXT) \
mtMergeClause.$(OBJEXT) mtMergeClauseList.$(OBJEXT) \
- exprNode.$(OBJEXT) exprChecks.$(OBJEXT) llmain.$(OBJEXT)
+ exprNode.$(OBJEXT) exprChecks.$(OBJEXT) llmain.$(OBJEXT) \
+ help.$(OBJEXT) rcfiles.$(OBJEXT) constraintGeneration.$(OBJEXT) \
+ constraintTerm.$(OBJEXT) constraintExprData.$(OBJEXT) \
+ constraintExpr.$(OBJEXT) constraint.$(OBJEXT) \
+ constraintList.$(OBJEXT) constraintResolve.$(OBJEXT) \
+ constraintOutput.$(OBJEXT) loopHeuristics.$(OBJEXT)
splint_OBJECTS = $(am_splint_OBJECTS)
splint_LDFLAGS =
@AMDEP_TRUE@ $(DEPDIR)/general.Po $(DEPDIR)/genericTable.Po \
@AMDEP_TRUE@ $(DEPDIR)/globSet.Po $(DEPDIR)/globals.Po \
@AMDEP_TRUE@ $(DEPDIR)/globalsClause.Po $(DEPDIR)/guardSet.Po \
-@AMDEP_TRUE@ $(DEPDIR)/idDecl.Po $(DEPDIR)/idDeclList.Po \
-@AMDEP_TRUE@ $(DEPDIR)/importNodeList.Po $(DEPDIR)/imports.Po \
-@AMDEP_TRUE@ $(DEPDIR)/initDeclNodeList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/help.Po $(DEPDIR)/idDecl.Po \
+@AMDEP_TRUE@ $(DEPDIR)/idDeclList.Po $(DEPDIR)/importNodeList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/imports.Po $(DEPDIR)/initDeclNodeList.Po \
@AMDEP_TRUE@ $(DEPDIR)/inputStream.Po $(DEPDIR)/intSet.Po \
@AMDEP_TRUE@ $(DEPDIR)/interfaceNodeList.Po \
@AMDEP_TRUE@ $(DEPDIR)/lclctypes.Po $(DEPDIR)/lclinit.Po \
@AMDEP_TRUE@ $(DEPDIR)/mttok.Po $(DEPDIR)/multiVal.Po \
@AMDEP_TRUE@ $(DEPDIR)/nameChecks.Po $(DEPDIR)/osd.Po \
@AMDEP_TRUE@ $(DEPDIR)/pairNodeList.Po \
-@AMDEP_TRUE@ $(DEPDIR)/paramNodeList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/paramNodeList.Po $(DEPDIR)/pointers.Po \
@AMDEP_TRUE@ $(DEPDIR)/programNodeList.Po $(DEPDIR)/qtype.Po \
@AMDEP_TRUE@ $(DEPDIR)/qual.Po $(DEPDIR)/qualList.Po \
@AMDEP_TRUE@ $(DEPDIR)/quantifierNodeList.Po \
-@AMDEP_TRUE@ $(DEPDIR)/randomNumbers.Po $(DEPDIR)/reader.Po \
-@AMDEP_TRUE@ $(DEPDIR)/replaceNodeList.Po $(DEPDIR)/sRef.Po \
-@AMDEP_TRUE@ $(DEPDIR)/sRefList.Po $(DEPDIR)/sRefSet.Po \
-@AMDEP_TRUE@ $(DEPDIR)/sRefSetList.Po $(DEPDIR)/sRefTable.Po \
-@AMDEP_TRUE@ $(DEPDIR)/scan.Po $(DEPDIR)/scanline.Po \
-@AMDEP_TRUE@ $(DEPDIR)/shift.Po $(DEPDIR)/sigNodeSet.Po \
-@AMDEP_TRUE@ $(DEPDIR)/signature.Po $(DEPDIR)/sort.Po \
-@AMDEP_TRUE@ $(DEPDIR)/sortList.Po $(DEPDIR)/sortSet.Po \
-@AMDEP_TRUE@ $(DEPDIR)/sortSetList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/randomNumbers.Po $(DEPDIR)/rcfiles.Po \
+@AMDEP_TRUE@ $(DEPDIR)/reader.Po $(DEPDIR)/replaceNodeList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sRef.Po $(DEPDIR)/sRefList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sRefSet.Po $(DEPDIR)/sRefSetList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sRefTable.Po $(DEPDIR)/scan.Po \
+@AMDEP_TRUE@ $(DEPDIR)/scanline.Po $(DEPDIR)/shift.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sigNodeSet.Po $(DEPDIR)/signature.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sort.Po $(DEPDIR)/sortList.Po \
+@AMDEP_TRUE@ $(DEPDIR)/sortSet.Po $(DEPDIR)/sortSetList.Po \
@AMDEP_TRUE@ $(DEPDIR)/stDeclNodeList.Po \
@AMDEP_TRUE@ $(DEPDIR)/stateClause.Po \
@AMDEP_TRUE@ $(DEPDIR)/stateClauseList.Po \
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/globals.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/globalsClause.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/guardSet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/help.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/idDecl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/idDeclList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/importNodeList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/osd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pairNodeList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/paramNodeList.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pointers.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/programNodeList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/qtype.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/qual.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/qualList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/quantifierNodeList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/randomNumbers.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rcfiles.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reader.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/replaceNodeList.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sRef.Po@am__quote@
$(CP) cgrammar.c.der cgrammar.c; \
else \
echo '* Making cgrammar.c'; \
- echo '* Expect 141 shift/reduce conflicts and 111 reduce/reduce conflicts.'; \
+ echo '* Expect 154 shift/reduce conflicts and 115 reduce/reduce conflicts.'; \
echo '* (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; \
+ $(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
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
lintnew: splintme
splintme:
- ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(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 $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw
+
+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
+
+# drl changed to use # for comment
+#/* $(LINTSRC) $(LCLSRC)*/
+
+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 +arraybounds +arrayboundsread +implictconstraint -dLINTBUFFERCHECK
+ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +bounds +boundsread +implictconstraint -dLINTBUFFERCHECK
+
+all: splint$(EXEEXT) ../$(top_builddir)/$(binDir)/splint$(EXEEXT)
-all: splint$(EXEEXT)
+../$(top_builddir)/$(binDir)/splint$(EXEEXT): splint$(EXEEXT)
+ -$(RM) -f $(top_builddir)/$(binDir)/splint$(EXEEXT)
+ ln -s $(top_builddir)/src/splint$(EXEEXT) $(top_builddir)/$(binDir)/splint$(EXEEXT)
up:
-rm cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c