diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-10-02 07:58:50 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-10-02 07:58:50 (GMT) |
| commit | 5e1eaa44bca9c76c5b2fe923e7a54bc6cb13d98c (patch) | |
| tree | aee604b829e97e86e3c3c8fd1cd49cb39e21c96a /win/tclWinInt.h | |
| parent | c5f68dde5ce0d27b393903b3b7e14f76c1bbf986 (diff) | |
| download | tcl-5e1eaa44bca9c76c5b2fe923e7a54bc6cb13d98c.zip tcl-5e1eaa44bca9c76c5b2fe923e7a54bc6cb13d98c.tar.gz tcl-5e1eaa44bca9c76c5b2fe923e7a54bc6cb13d98c.tar.bz2 | |
Fix compilation with latest MinGW-w64 version 3.0: Conflict on EXCEPTION_REGISTRATION typedef, which means something completely different in MinGW-w64.
Diffstat (limited to 'win/tclWinInt.h')
| -rw-r--r-- | win/tclWinInt.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/win/tclWinInt.h b/win/tclWinInt.h index 2f6659c..3d5e275 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 + /* * The following specifies how much stack space TclpCheckStackSpace() * ensures is available. TclpCheckStackSpace() is called by Tcl_EvalObj() |
