From 6580b2352407aa1b0f314552899f301558bc3113 Mon Sep 17 00:00:00 2001 From: Kevin B Kenny Date: Mon, 6 Jun 2005 20:54:09 +0000 Subject: Correct crash in stack.test on gcc/win32; fix compile errors in tclObj.c on hpux/native cc --- ChangeLog | 9 +++++++++ generic/tclObj.c | 16 ++++++++-------- win/tclWin32Dll.c | 15 ++------------- 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 + + * 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 *** 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) -- cgit v0.12