| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
until we have it, just return unknown. [Bug 1020445]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TclpCheckStackSpace, _except_checkstackspace_handler,
TclWinCPUID, _except_TclWinCPUID_detach_handler):
* win/tclWinChan.c (Tcl_MakeFileChannel,
_except_makefilechannel_handler):
* win/tclWinFCmd.c (DoRenameFile,
_except_dorenamefile_handler, DoCopyFile,
_except_docopyfile_handler):
Rework pushing of exception handler function pointer
so that compiling with gcc -O3 works. Remove empty
function call to avoid compiler warning. Mark the
DllMain function as noinline to avoid compiler
error from duplicated asm labels in generated code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
build works again.
* generic/tclDecls.h: Changes to the tests for
* generic/tclInt.decls: clock frequency in
* generic/tclIntDecls.h: Tcl_WinTime
* generic/tclIntPlatDecls.h: so that any clock frequency
* generic/tclPlatDecls.h: is accepted provided that
* generic/tclStubInit.c: all CPU's in the system share
* tests/platform.test (platform-1.3): a common chip, and hence,
* win/tclWin32Dll.c (TclWinCPUID): presumably, a common clock.
* win/tclWinTest.c (TestwincpuidCmd) This change necessitated a
* win/tclWinTime.c (Tcl_GetTime): small burst of assembly code
to read CPU ID information, which was added as TclWinCPUID in the
internal Stubs. To test this code in the common case of a
single-processor machine, a 'testwincpuid' command was added to
tclWinTest.c, and a test case in platform.test. Thanks to Jeff
Godfrey and Richard Suchenwirth for reporting this bug. [Bug
#976722]
|
|
|
|
|
| |
case. We're not interested in knowing about DLL_THREAD_ATTACH, so
disable it.
|
|
|
|
|
| |
TclWinEncodingsCleanup called from TclFinalizeFilesystem does
the Tcl_FreeEncoding for us.
|
|
|
|
| |
for Tcl_Finalize.
|
|
|
|
| |
variable names in
|
|
|
|
|
|
| |
blocks in place of __try and __except statements
to support gcc builds. This is needed after
David's changes on 2003-12-21. [Tcl patch 858493]
|
|
|
|
|
|
|
| |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
|
|
|
|
|
|
|
| |
DllMain's DLL_PROCESS_DETACH. We can't 100% assured that Tcl is
being unloaded by the OS in a stable condition and we need to protect
the exit handlers should the stack be in a hosed state. AT&T style
assembly for SEH under MinGW has not been added yet. This is a first
part change for [Patch 858493]
|
| |
|
|
|
|
|
| |
the prefix 'Tcl' to keep them out of the way of non-Tcl C code on Unix.
(Problem reported by George Staplin.)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings):
* win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings):
Re-implement inline ASM SEH handlers for gcc.
The esp and ebp registers are now saved on the
stack instead of in global variables so that
the code is thread safe. Add additional checks
when TCL_MEM_DEBUG is defined to be sure the
values were recovered from the stack properly.
Remove squelch_warnings functions and add
a dummy call in the handler methods to squelch
compiler warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/configure.in: Define HAVE_ALLOCA_GCC_INLINE
when we detect that no alloca function is found
in malloc.h and we are compiling with GCC.
Remove HAVE_NO_ALLOC_DECL define.
* win/tclWin32Dll.c (TclpCheckStackSpace):
Don't define alloca as a cdecl function.
Doing this caused a tricky runtime bug because
the _alloca function expects the size argument
to be passed in a register and not on the stack.
To fix this problem, we use inline ASM when
compiling with gcc to invoke _alloca with the
size argument loaded into a register.
|
|
|
|
|
|
|
|
|
|
|
| |
* win/configure.in:
* win/tclWin32Dll.c (TclpCheckStackSpace): Rework
the SEH exception handler logic to avoid using
the stack since alloca will modify the stack.
This was causing a nasty bug that would set the
exception handler to 0 because it tried to pop
the previous exception handler off the top of
the stack.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler warnings from SEH ASM code.
* win/tclWinChan.c (squelch_warnings): Squelch
compiler warnings from SEH ASM code.
* win/tclWinDde.c: Add casts to avoid compiler
warnings. Pass pointer to DWORD instead of int
to avoid compiler warnings.
* win/tclWinFCmd.c (squelch_warnings): Add casts
and fixup decls to avoid compiler warnings.
Squelch compiler warnings from SEH ASM code.
* win/tclWinFile.c: Add casts and fixup decls
to avoid compiler warnings. Remove unused variable.
* win/tclWinNotify.c: Declare as DWORD instead
of int to avoid compiler warning.
* win/tclWinReg.c: Add casts to avoid compiler
warning. Fix assignment in if expression bug.
* win/tclWinSerial.c: Add casts to avoid compiler
warnings. Remove unused variable.
* win/tclWinSock.c: Add casts and fixup decls
to avoid compiler warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIntPlatDecls.h: regen
* generic/tclInt.decls: added TclWinResetInterface
* win/tclWin32Dll.c (TclWinResetInterfaces):
* win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup):
add exit handler that resets the encoding information to a state
where we can reuse Tcl. Following these changes, it is possible
to reuse Tcl (following Tcl_FindExecutable or Tcl_CreateInterp)
following a Tcl_Finalize.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/configure.in: Add configure time test for SEH
support in the compiler.
* win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace,
_except_checkstackspace_handler):
* win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel,
_except_makefilechannel_handler):
* win/tclWinFCmd.c (ESP, EBP, DoRenameFile,
_except_dorenamefile_handler,
DoCopyFile, _except_docopyfile_handler):
Implement SEH support under gcc using inline asm.
Tcl and Tk should now compile with Mingw 1.1. [Patch 525746]
|
|
|
|
|
|
|
| |
* win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace
hard coded constants with Win32 symbolic names.
Move control flow statements out of __try blocks
since the documentation indicates it is frowned upon.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
restored to return (char *): Tcl_DStringAppend,
Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also
restored Tcl_WinUtfToTChar to return (TCHAR *) and
Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified
some callers. This change recognizes that Tcl_DStrings are
de-facto white-box objects.
* generic/tclCmdMZ.c: corrected use of C++-style comment.
|
|
|
|
|
|
|
| |
* [Patch 506818] Updated interfaces of generic/tclHash.c (TIP 27).
* [Patch 506807] Updated interfaces of generic/tclObj.c (TIP 27).
* [Patch 507304] Updated interfaces of win/tclWin32.c (TIP 27).
* Update all callers.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c:
* win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s
support).
* win/tclWinReg.c: made use of TclWinGetPlatformId instead of
getting info again
* win/tclWinPort.h:
* win/Makefile.in:
* win/configure.in:
* win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinChan.c:
* win/tclWinFCmd.c:
* win/tclWinInit.c:
* win/tclWinPipe.c:
* win/tclWinSock.c: removed all code that supported Win32s. It
was no longer officially supported, and likely didn't work anyway.
* win/makefile.vc: removed 16 bit stuff, cleaned up.
* win/tcl16.rc:
* win/tclWin16.c:
* win/winDumpExts.c: these files have been removed from the
source tree (no longer necessary to build)
* win/aclocal.m4: made it just include tcl.m4
|
|
|
|
|
|
| |
* win/tclWin32Dll.c: Changed uses of "try" to "__try", since that
is the actual keyword. This eliminates the need for some -D flags
from the makefile.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|