diff options
author | dgp <dgp@users.sourceforge.net> | 2006-12-07 23:35:29 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2006-12-07 23:35:29 (GMT) |
commit | 3956ac10bc7eb76aeae3705e041bef841361d208 (patch) | |
tree | 3086eac10fe782de5811f761f5595936c615c60b /generic/tclCompCmds.c | |
parent | 00ea0049a0fcf1517652f613da6ee76288bfb1ac (diff) | |
download | tcl-3956ac10bc7eb76aeae3705e041bef841361d208.zip tcl-3956ac10bc7eb76aeae3705e041bef841361d208.tar.gz tcl-3956ac10bc7eb76aeae3705e041bef841361d208.tar.bz2 |
* generic/tclCompCmds.c: Additional commits correct most
* generic/tclExecute.c: failing tests illustrating bugs uncovered
* generic/tclMathOp.c: in [Path 1578137].
Diffstat (limited to 'generic/tclCompCmds.c')
-rw-r--r-- | generic/tclCompCmds.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 5954394..464f7d2 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompCmds.c,v 1.96 2006/12/07 15:02:45 dkf Exp $ + * RCS: @(#) $Id: tclCompCmds.c,v 1.97 2006/12/07 23:35:29 dgp Exp $ */ #include "tclInt.h" @@ -4658,6 +4658,13 @@ CompileAssociativeBinaryOpCmd( PushLiteral(envPtr, identity, -1); return TCL_OK; } + if (parsePtr->numWords == 2) { + /* + * TODO: Fixup the single argument case to require + * numeric argument. Fallback on direct eval until fixed + */ + return TCL_ERROR; + } for (words=1 ; words<parsePtr->numWords ; words++) { tokenPtr = TokenAfter(tokenPtr); CompileWord(envPtr, tokenPtr, interp, words); @@ -4968,6 +4975,12 @@ TclCompileDivOpCmd( CompileWord(envPtr, tokenPtr, interp,1); TclEmitOpcode(INST_DIV, envPtr); return TCL_OK; + } else { + /* + * TODO: get compiled version that passes mathop-6.18 + * For now, fallback to direct evaluation. + */ + return TCL_ERROR; } tokenPtr = TokenAfter(parsePtr->tokenPtr); CompileWord(envPtr, tokenPtr, interp,1); |