tclbdd

Check-in [179080d4b1]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fix a bug in Quantify where things fall over trying to quantify an unused variable
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:179080d4b151823419ad48fc9ba17fdee525e16f
User & Date: kbk 2013-12-20 21:36:45
Context
2013-12-20
21:45
Add test case for projecting away a nowhere-used variable. check-in: e4346a7b93 user: kbk tags: trunk
21:36
fix a bug in Quantify where things fall over trying to quantify an unused variable check-in: 179080d4b1 user: kbk tags: trunk
20:00
Program flow analysis - reaching definitions example check-in: 6e68626558 user: kbk tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to configure.

6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
	fi
	PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j"
    done




    vars="library/tclbdd.tcl"
    for i in $vars; do
	# check for existence, be strict because it is installed
	if test ! -f "${srcdir}/$i" ; then
	    { { echo "$as_me:$LINENO: error: could not find tcl source file '${srcdir}/$i'" >&5
echo "$as_me: error: could not find tcl source file '${srcdir}/$i'" >&2;}
   { (exit 1); exit 1; }; }
	fi







|







6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
	fi
	PKG_STUB_OBJECTS="$PKG_STUB_OBJECTS $j"
    done




    vars="library/tclbdd.tcl library/tclfddd.tcl"
    for i in $vars; do
	# check for existence, be strict because it is installed
	if test ! -f "${srcdir}/$i" ; then
	    { { echo "$as_me:$LINENO: error: could not find tcl source file '${srcdir}/$i'" >&5
echo "$as_me: error: could not find tcl source file '${srcdir}/$i'" >&2;}
   { (exit 1); exit 1; }; }
	fi

Changes to configure.in.

71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

TEA_ADD_SOURCES([generic/bdd.c generic/tclBdd.c])
TEA_ADD_HEADERS([generic/tclBdd.h generic/tclBddInt.h])
TEA_ADD_INCLUDES([])
TEA_ADD_LIBS([])
TEA_ADD_CFLAGS([])
TEA_ADD_STUB_SOURCES([])
TEA_ADD_TCL_SOURCES([library/tclbdd.tcl])

#--------------------------------------------------------------------
#
# You can add more files to clean if your extension creates any extra
# files by extending CLEANFILES.
# Add pkgIndex.tcl if it is generated in the Makefile instead of ./configure
# and change Makefile.in to move it from CONFIG_CLEAN_FILES to BINARIES var.







|







71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

TEA_ADD_SOURCES([generic/bdd.c generic/tclBdd.c])
TEA_ADD_HEADERS([generic/tclBdd.h generic/tclBddInt.h])
TEA_ADD_INCLUDES([])
TEA_ADD_LIBS([])
TEA_ADD_CFLAGS([])
TEA_ADD_STUB_SOURCES([])
TEA_ADD_TCL_SOURCES([library/tclbdd.tcl library/tclfddd.tcl])

#--------------------------------------------------------------------
#
# You can add more files to clean if your extension creates any extra
# files by extending CLEANFILES.
# Add pkgIndex.tcl if it is generated in the Makefile instead of ./configure
# and change Makefile.in to move it from CONFIG_CLEAN_FILES to BINARIES var.

Changes to generic/bdd.c.

1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
	r = (BDD_BeadIndex) Tcl_GetHashValue(entryPtr);
	++sysPtr->beads[r].refCount;
	return r;
    }

    for (;;) {
	Bead* beadPtr = sysPtr->beads + u;
	if (n == 0) {
	    /*
	     * No variables remain to quantify. Simply return the expression
	     * itself.
	     */
	    ++beadPtr->refCount;
	    r = u;
	    break;







|







1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
	r = (BDD_BeadIndex) Tcl_GetHashValue(entryPtr);
	++sysPtr->beads[r].refCount;
	return r;
    }

    for (;;) {
	Bead* beadPtr = sysPtr->beads + u;
	if (n == 0 || *v >= sysPtr->beads[0].level) {
	    /*
	     * No variables remain to quantify. Simply return the expression
	     * itself.
	     */
	    ++beadPtr->refCount;
	    r = u;
	    break;