summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormig <mig>2013-01-17 15:13:40 (GMT)
committermig <mig>2013-01-17 15:13:40 (GMT)
commita6461e6b0d7514a5a99aa9d0935d32a0c6ac75c2 (patch)
treefc11a8e4dc193925e209b5cdf3c39e67d5fb65ca
parent0a8b2b3150148a83a452f18d6c9929b639187b32 (diff)
downloadtcl-a6461e6b0d7514a5a99aa9d0935d32a0c6ac75c2.zip
tcl-a6461e6b0d7514a5a99aa9d0935d32a0c6ac75c2.tar.gz
tcl-a6461e6b0d7514a5a99aa9d0935d32a0c6ac75c2.tar.bz2
COMPILE_DEBUG big: fix bug in stack verification for {*}
-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