diff options
author | mig <mig> | 2013-01-17 15:13:40 (GMT) |
---|---|---|
committer | mig <mig> | 2013-01-17 15:13:40 (GMT) |
commit | 0c7be9daeb83147f81ecd891b80398293c36e92a (patch) | |
tree | fc11a8e4dc193925e209b5cdf3c39e67d5fb65ca | |
parent | bd7660805b4bdf34559cd03d1ddf3e72436067e3 (diff) | |
download | tcl-0c7be9daeb83147f81ecd891b80398293c36e92a.zip tcl-0c7be9daeb83147f81ecd891b80398293c36e92a.tar.gz tcl-0c7be9daeb83147f81ecd891b80398293c36e92a.tar.bz2 |
COMPILE_DEBUG big: fix bug in stack verification for {*}
-rw-r--r-- | generic/tclExecute.c | 8 |
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 |