summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclExecute.c7
-rw-r--r--generic/tclVar.c9
3 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e8574bb..6b598e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-05-25 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclExecute.c:
+ * generic/tclVar.c: using (ptrdiff_t) instead of (int) casting to
+ correct compiler warnings [Bug 961657], reported by Bob Techentin.
+
2004-05-27 Kevin B. Kenny <kennykb@acm.org>
* tests/clock.test: Added a single test for the presence of %G
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index bff18c9..6b88e55 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -11,9 +11,10 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclExecute.c,v 1.140 2004/05/25 00:07:54 hobbs Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.141 2004/05/27 20:08:20 msofer Exp $
*/
+#include <stddef.h>
#include "tclInt.h"
#include "tclCompile.h"
@@ -1545,7 +1546,7 @@ TclExecuteByteCode(interp, codePtr)
objPtr = expandNestList;
expandNestList = (Tcl_Obj *) objPtr->internalRep.twoPtrValue.ptr2;
objc = tosPtr - eePtr->stackPtr
- - (int) objPtr->internalRep.twoPtrValue.ptr1;
+ - (ptrdiff_t) objPtr->internalRep.twoPtrValue.ptr1;
TclDecrRefCount(objPtr);
}
@@ -4824,7 +4825,7 @@ TclExecuteByteCode(interp, codePtr)
*/
processCatch:
- while (tosPtr > (int) (eePtr->stackPtr[catchTop]) + eePtr->stackPtr) {
+ while (tosPtr > ((ptrdiff_t) (eePtr->stackPtr[catchTop])) + eePtr->stackPtr) {
valuePtr = POP_OBJECT();
TclDecrRefCount(valuePtr);
}
diff --git a/generic/tclVar.c b/generic/tclVar.c
index 2a88366..11d236a 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -15,9 +15,10 @@
* 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.84 2004/05/27 13:18:53 dkf Exp $
+ * RCS: @(#) $Id: tclVar.c,v 1.85 2004/05/27 20:08:21 msofer Exp $
*/
+#include <stddef.h>
#include "tclInt.h"
/*
@@ -402,7 +403,7 @@ TclObjLookupVar(interp, part1Ptr, part2, flags, msg, createPart1, createPart2,
if (typePtr == &tclLocalVarNameType) {
Proc *procPtr = (Proc *) part1Ptr->internalRep.twoPtrValue.ptr1;
- int localIndex = (int) part1Ptr->internalRep.twoPtrValue.ptr2;
+ ptrdiff_t localIndex = (ptrdiff_t) part1Ptr->internalRep.twoPtrValue.ptr2;
int useLocal;
useLocal = ((varFramePtr != NULL) && varFramePtr->isProcCallFrame
@@ -555,7 +556,7 @@ TclObjLookupVar(interp, part1Ptr, part2, flags, msg, createPart1, createPart2,
part1Ptr->typePtr = &tclLocalVarNameType;
procPtr->refCount++;
part1Ptr->internalRep.twoPtrValue.ptr1 = (VOID *) procPtr;
- part1Ptr->internalRep.twoPtrValue.ptr2 = (VOID *) index;
+ part1Ptr->internalRep.twoPtrValue.ptr2 = (VOID *)(ptrdiff_t) index;
#if ENABLE_NS_VARNAME_CACHING
} else if (index > -3) {
/*
@@ -4611,7 +4612,7 @@ UpdateLocalVarName(objPtr)
Tcl_Obj *objPtr;
{
Proc *procPtr = (Proc *) objPtr->internalRep.twoPtrValue.ptr1;
- unsigned int index = (unsigned int) objPtr->internalRep.twoPtrValue.ptr2;
+ ptrdiff_t index = (ptrdiff_t) objPtr->internalRep.twoPtrValue.ptr2;
CompiledLocal *localPtr = procPtr->firstLocalPtr;
unsigned int nameLen;