diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2014-02-18 10:56:12 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2014-02-18 10:56:12 (GMT) |
commit | 340a361ed19847861c47b986eb8d522c1a6cc700 (patch) | |
tree | 6b6bdfeebd073f7857ec4893ca9bb3a9b008b3aa /win/tclWinInt.h | |
parent | e810c9099a64e6af0d3aad22f673de6edcb68cd7 (diff) | |
parent | ecc126bc275141ebdaa83e74dd87645d1680d01c (diff) | |
download | tcl-340a361ed19847861c47b986eb8d522c1a6cc700.zip tcl-340a361ed19847861c47b986eb8d522c1a6cc700.tar.gz tcl-340a361ed19847861c47b986eb8d522c1a6cc700.tar.bz2 |
merge novem
Diffstat (limited to 'win/tclWinInt.h')
-rw-r--r-- | win/tclWinInt.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/win/tclWinInt.h b/win/tclWinInt.h index b3753f4..87ccb1b 100644 --- a/win/tclWinInt.h +++ b/win/tclWinInt.h @@ -14,6 +14,23 @@ #include "tclInt.h" +#ifdef HAVE_NO_SEH +/* + * Unlike Borland and Microsoft, we don't register exception handlers by + * pushing registration records onto the runtime stack. Instead, we register + * them by creating an TCLEXCEPTION_REGISTRATION within the activation record. + */ + +typedef struct TCLEXCEPTION_REGISTRATION { + struct TCLEXCEPTION_REGISTRATION *link; + EXCEPTION_DISPOSITION (*handler)( + struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*); + void *ebp; + void *esp; + int status; +} TCLEXCEPTION_REGISTRATION; +#endif + /* * Utility macros: STRINGIFY takes an argument and wraps it in "" (double * quotation marks), JOIN joins two arguments. @@ -47,12 +64,6 @@ # define TCL_I_MODIFIER "" #endif -#ifdef _WIN64 -# define TCL_I_MODIFIER "I" -#else -# define TCL_I_MODIFIER "" -#endif - /* * Declarations of functions that are not accessible by way of the * stubs table. |