From 5c9038b30eadc53a06bd92249b583ab15f71c1c7 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 16 Jul 2009 20:50:53 +0000 Subject: * generic/tclCmdIL.c: Removed unused variables. * generic/tclCompile.c: * generic/tclVar.c: * unix/tclUnixChan.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200] --- ChangeLog | 13 +++++++++++++ generic/tclCmdIL.c | 6 ++---- generic/tclCompile.c | 7 ++----- generic/tclScan.c | 4 ++-- generic/tclStrToD.c | 18 +++++++++++++++++- generic/tclVar.c | 6 +++++- unix/tclUnixChan.c | 5 ++--- 7 files changed, 43 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2382491..ac774f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2009-07-16 Don Porter + + * generic/tclCmdIL.c: Removed unused variables. + * generic/tclCompile.c: + * generic/tclVar.c: + * unix/tclUnixChan.c: + + * generic/tclScan.c: Typo in ACCEPT_NAN configuration. + + * generic/tclStrToD.c: Set floating point control register on + MIPS systems so that the gradual underflow expected by Tcl is + in effect. [Bug 2819200] + 2009-07-14 Andreas Kupries * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter, diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c index f144cef..e485347 100644 --- a/generic/tclCmdIL.c +++ b/generic/tclCmdIL.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdIL.c,v 1.137.2.6 2008/09/27 14:20:54 dkf Exp $ + * RCS: @(#) $Id: tclCmdIL.c,v 1.137.2.7 2009/07/16 20:50:54 dgp Exp $ */ #include "tclInt.h" @@ -3458,7 +3458,7 @@ Tcl_LsortObjCmd( int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[]) /* Argument values. */ { - int i, j, index, unique, indices, length, nocase = 0, sortMode, indexc; + int i, j, index, indices, length, nocase = 0, sortMode, indexc; Tcl_Obj *resultPtr, *cmdPtr, **listObjPtrs, *listObj, *indexPtr; SortElement *elementArray, *elementPtr; SortInfo sortInfo; /* Information about this sort that needs to @@ -3497,7 +3497,6 @@ Tcl_LsortObjCmd( sortInfo.interp = interp; sortInfo.resultCode = TCL_OK; cmdPtr = NULL; - unique = 0; indices = 0; for (i = 1; i < objc-1; i++) { if (Tcl_GetIndexFromObj(interp, objv[i], switches, "option", 0, @@ -3593,7 +3592,6 @@ Tcl_LsortObjCmd( sortInfo.sortMode = SORTMODE_REAL; break; case LSORT_UNIQUE: - unique = 1; sortInfo.unique = 1; break; case LSORT_INDICES: diff --git a/generic/tclCompile.c b/generic/tclCompile.c index bfc81b7..2ea99ac 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompile.c,v 1.146.2.9 2009/07/15 22:27:13 das Exp $ + * RCS: @(#) $Id: tclCompile.c,v 1.146.2.10 2009/07/16 20:50:54 dgp Exp $ */ #include "tclInt.h" @@ -1157,7 +1157,7 @@ TclCompileScript( Namespace *cmdNsPtr; Command *cmdPtr; Tcl_Token *tokenPtr; - int bytesLeft, isFirstCmd, gotParse, wordIdx, currCmdIndex; + int bytesLeft, isFirstCmd, wordIdx, currCmdIndex; int commandLength, objIndex; Tcl_DString ds; /* TIP #280 */ @@ -1187,7 +1187,6 @@ TclCompileScript( p = script; bytesLeft = numBytes; - gotParse = 0; cmdLine = envPtr->line; do { if (Tcl_ParseCommand(interp, p, bytesLeft, 0, parsePtr) != TCL_OK) { @@ -1203,7 +1202,6 @@ TclCompileScript( TclCompileSyntaxError(interp, envPtr); break; } - gotParse = 1; if (parsePtr->numWords > 0) { int expand = 0; /* Set if there are dynamic expansions to * handle */ @@ -1543,7 +1541,6 @@ TclCompileScript( TclAdvanceLines(&cmdLine, parsePtr->commandStart, p); Tcl_FreeParse(parsePtr); - gotParse = 0; } while (bytesLeft > 0); /* diff --git a/generic/tclScan.c b/generic/tclScan.c index 25ef913..9bd11c1 100644 --- a/generic/tclScan.c +++ b/generic/tclScan.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclScan.c,v 1.27 2007/12/13 15:23:20 dgp Exp $ + * RCS: @(#) $Id: tclScan.c,v 1.27.2.1 2009/07/16 20:50:54 dgp Exp $ */ #include "tclInt.h" @@ -959,7 +959,7 @@ Tcl_ScanObjCmd( if (Tcl_GetDoubleFromObj(NULL, objPtr, &dvalue) != TCL_OK) { #ifdef ACCEPT_NAN if (objPtr->typePtr == &tclDoubleType) { - dValue = objPtr->internalRep.doubleValue; + dvalue = objPtr->internalRep.doubleValue; } else #endif { diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c index c47c5f8..453a34c 100755 --- a/generic/tclStrToD.c +++ b/generic/tclStrToD.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStrToD.c,v 1.33.2.1 2008/04/01 20:12:01 andreas_kupries Exp $ + * RCS: @(#) $Id: tclStrToD.c,v 1.33.2.2 2009/07/16 20:50:54 dgp Exp $ * *---------------------------------------------------------------------- */ @@ -68,6 +68,14 @@ typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__))); #if defined(__sun) && defined(__i386) && !defined(__GNUC__) #include #endif + +/* + * MIPS floating-point units need special settings in control registers + * to use gradual underflow as we expect. + */ +#if defined(__mips) +#include +#endif /* * HP's PA_RISC architecture uses 7ff4000000000000 to represent a quiet NaN. * Everyone else uses 7ff8000000000000. (Why, HP, why?) @@ -2158,6 +2166,14 @@ TclInitDoubleConversion(void) } bitwhack; #endif +#if defined(__mips) + union fpc_csr mipsCR; + + mipsCR.fc_word = get_fpc_csr(); + mipsCR.fc_struct.flush = 0; + set_fpc_csr(mipsCR.fc_word); +#endif + /* * Initialize table of powers of 10 expressed as wide integers. */ diff --git a/generic/tclVar.c b/generic/tclVar.c index dc6699e..8f83738 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.160.2.3 2008/10/08 14:52:39 dgp Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.160.2.4 2009/07/16 20:50:54 dgp Exp $ */ #include "tclInt.h" @@ -525,12 +525,15 @@ TclObjLookupVarEx( const Tcl_ObjType *typePtr = part1Ptr->typePtr; const char *errMsg = NULL; CallFrame *varFramePtr = iPtr->varFramePtr; +#if ENABLE_NS_VARNAME_CACHING Namespace *nsPtr; +#endif char *part2 = part2Ptr? TclGetString(part2Ptr):NULL; char *newPart2 = NULL; *arrayPtrPtr = NULL; +#if ENABLE_NS_VARNAME_CACHING if (varFramePtr) { nsPtr = varFramePtr->nsPtr; } else { @@ -541,6 +544,7 @@ TclObjLookupVarEx( nsPtr = NULL; } +#endif if (typePtr == &localVarNameType) { int localIndex; diff --git a/unix/tclUnixChan.c b/unix/tclUnixChan.c index a915d5f..01d4005 100644 --- a/unix/tclUnixChan.c +++ b/unix/tclUnixChan.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUnixChan.c,v 1.93.2.2 2009/04/10 20:46:21 das Exp $ + * RCS: @(#) $Id: tclUnixChan.c,v 1.93.2.3 2009/07/16 20:50:54 dgp Exp $ */ #include "tclInt.h" /* Internal definitions for Tcl. */ @@ -2279,14 +2279,13 @@ CreateSocket( * attempt to do an async connect. Otherwise * do a synchronous connect or bind. */ { - int status, sock, asyncConnect, curState, origState; + int status, sock, asyncConnect, curState; struct sockaddr_in sockaddr; /* socket address */ struct sockaddr_in mysockaddr; /* Socket address for client */ TcpState *statePtr; const char *errorMsg = NULL; sock = -1; - origState = 0; if (!CreateSocketAddress(&sockaddr, host, port, 0, &errorMsg)) { goto addressError; } -- cgit v0.12