summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authormig <mig>2013-01-17 15:13:40 (GMT)
committermig <mig>2013-01-17 15:13:40 (GMT)
commit0c7be9daeb83147f81ecd891b80398293c36e92a (patch)
treefc11a8e4dc193925e209b5cdf3c39e67d5fb65ca /generic
parentbd7660805b4bdf34559cd03d1ddf3e72436067e3 (diff)
downloadtcl-0c7be9daeb83147f81ecd891b80398293c36e92a.zip
tcl-0c7be9daeb83147f81ecd891b80398293c36e92a.tar.gz
tcl-0c7be9daeb83147f81ecd891b80398293c36e92a.tar.bz2
COMPILE_DEBUG big: fix bug in stack verification for {*}
Diffstat (limited to 'generic')
-rw-r--r--generic/tclExecute.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 628dfe7..8a68e9b 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -259,8 +259,11 @@ VarHashCreateVar(
#if TCL_COMPILE_DEBUG
#define CHECK_STACK() \
- ValidatePcAndStackTop(codePtr, pc, CURR_DEPTH, \
- /*checkStack*/ auxObjList == NULL)
+ do { \
+ ValidatePcAndStackTop(codePtr, pc, CURR_DEPTH, \
+ /*checkStack*/ !(starting || auxObjList)); \
+ starting = 0; \
+ } while (0)
#else
#define CHECK_STACK()
#endif
@@ -2110,6 +2113,7 @@ TEBCresume(
#endif
#ifdef TCL_COMPILE_DEBUG
+ int starting = 1;
traceInstructions = (tclTraceExec == 3);
#endif