summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin B Kenny <kennykb@acm.org>2005-06-06 20:54:09 (GMT)
committerKevin B Kenny <kennykb@acm.org>2005-06-06 20:54:09 (GMT)
commit6580b2352407aa1b0f314552899f301558bc3113 (patch)
tree49699ded2cef84afdcc20be391bea9b95f1dcaf7
parentabc82372fd122d714d3c5f3156072479f1a77c45 (diff)
downloadtcl-6580b2352407aa1b0f314552899f301558bc3113.zip
tcl-6580b2352407aa1b0f314552899f301558bc3113.tar.gz
tcl-6580b2352407aa1b0f314552899f301558bc3113.tar.bz2
Correct crash in stack.test on gcc/win32; fix compile errors in tclObj.c on hpux/native cc
-rw-r--r--ChangeLog9
-rw-r--r--generic/tclObj.c16
-rw-r--r--win/tclWin32Dll.c15
3 files changed, 19 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a685a2..1346182 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-06-06 Kevin B. Kenny <kennykb@acm.org>
+
+ * win/tclWin32Dll.c: Corrected another buglet in the assembly
+ code for stack probing on Win32/gcc. [Bug #1213678]
+ * generic/tclObj,c: Added missing 'static' on definition of
+ UpdateStringOfBignum, and removed a 'switch' on a 'long long'
+ operand (which HP-UX native 'cc' seems unable to handle).
+ [Bug #1215775]
+
2005-06-04 Jeff Hobbs <jeffh@ActiveState.com>
*** 8.5a3 TAGGED FOR RELEASE ***
diff --git a/generic/tclObj.c b/generic/tclObj.c
index ce29a7a..60dcf8e 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.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: tclObj.c,v 1.85 2005/05/18 15:43:38 dgp Exp $
+ * RCS: @(#) $Id: tclObj.c,v 1.86 2005/06/06 20:54:18 kennykb Exp $
*/
#include "tclInt.h"
@@ -1420,19 +1420,19 @@ SetBooleanFromAny(interp, objPtr)
}
if (objPtr->typePtr == &tclIntType) {
switch (objPtr->internalRep.longValue) {
- case 0: case 1:
+ case 0L: case 1L:
return TCL_OK;
}
goto badBoolean;
}
if (objPtr->typePtr == &tclWideIntType) {
Tcl_WideInt w = objPtr->internalRep.wideValue;
- switch (w) {
- case 0: case 1:
- newBool = (int)w;
- goto numericBoolean;
+ if ( w == 0 || w == 1 ) {
+ newBool = (int)w;
+ goto numericBoolean;
+ } else {
+ goto badBoolean;
}
- goto badBoolean;
}
}
@@ -2996,7 +2996,7 @@ SetBignumFromAny( interp, objPtr )
* is called.
*/
-void
+static void
UpdateStringOfBignum( Tcl_Obj* objPtr )
{
mp_int bignumVal;
diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c
index 797cc53..0fe1b52 100644
--- a/win/tclWin32Dll.c
+++ b/win/tclWin32Dll.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclWin32Dll.c,v 1.44 2005/05/16 15:35:41 kennykb Exp $
+ * RCS: @(#) $Id: tclWin32Dll.c,v 1.45 2005/06/06 20:54:18 kennykb Exp $
*/
#include "tclWinInt.h"
@@ -37,15 +37,6 @@ typedef VOID (WINAPI UTUNREGISTER)(HANDLE hModule);
static HINSTANCE hInstance; /* HINSTANCE of this DLL. */
static int platformId; /* Running under NT, or 95/98? */
-#if defined(HAVE_NO_SEH) && defined(TCL_MEM_DEBUG)
-static void *INITIAL_ESP,
- *INITIAL_EBP,
- *INITIAL_HANDLER,
- *RESTORED_ESP,
- *RESTORED_EBP,
- *RESTORED_HANDLER;
-#endif /* HAVE_NO_SEH && TCL_MEM_DEBUG */
-
#ifdef HAVE_NO_SEH
/*
@@ -328,7 +319,7 @@ DllMain(hInst, reason, reserved)
/*
* Call Tcl_Finalize
*/
- "call %[Tcl_Finalize]" "\n\t"
+ "call _Tcl_Finalize" "\n\t"
/*
* Come here on a normal exit. Recover the EXCEPTION_REGISTRATION
@@ -365,7 +356,6 @@ DllMain(hInst, reason, reserved)
/* No outputs */
:
[registration] "m" (registration),
- [Tcl_Finalize] "m" (Tcl_Finalize),
[ok] "i" (TCL_OK),
[error] "i" (TCL_ERROR)
:
@@ -602,7 +592,6 @@ TclpCheckStackSpace()
/* No outputs */
:
[registration] "m" (registration),
- [Tcl_Finalize] "m" (Tcl_Finalize),
[ok] "i" (TCL_OK),
[error] "i" (TCL_ERROR),
[size] "i" (TCL_WIN_STACK_THRESHOLD)