Alexandre Julliard
61680b4449
winecrt0: Provide our own setjmp/longjmp functions for exception handling.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Alexandre Julliard
60df3b14b5
include: Make the Wine exception handlers cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 15:04:06 +02:00
Alexandre Julliard
351bd33069
winecrt0: Reimplement __wine_rtl_unwind() as a proper asm function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 17:19:45 +02:00
Alexandre Julliard
9177a75acc
winecrt0: Store the appropriate longjmp() function in the exception frame.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 17:19:45 +02:00
Alexandre Julliard
d8454f9231
kernel32: Remove support for vm86 exceptions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 14:42:38 +01:00
Piotr Caban
4e863fa7c7
msvcp100: Support exceptions while copying object in _Concurrent_queue_base_v4::_Internal_push.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-23 18:29:09 +01:00
Alex Henrie
224d284f99
include: Discourage use of 'break' or 'continue' inside __TRY/__EXCEPT.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-14 09:58:28 +01:00
Piotr Caban
3eae4807dc
include: Add __EXCEPT_CTX/__FINALLY_CTX macros.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 11:26:30 +02:00
Piotr Caban
66567dbdf1
ntdll: Add support for collided unwinds.
...
Based on work by Alexandre Julliard.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 11:55:16 +09:00
Alexandre Julliard
3dc0474cfc
include: Android supports sigsetjmp now.
2013-07-30 14:43:34 +02:00
Alexandre Julliard
34ff565708
exception.h: Android doesn't have sigsetjmp.
2013-03-13 16:27:50 +01:00
Alexandre Julliard
2bce0c698e
ntdll: Set the TARGET_UNWIND flag when calling the unwind handler for the target frame.
2012-03-12 13:04:37 +01:00
Michael Stefaniuc
68f90d9697
kernel32/ntdll: Mark a variable as unused.
2011-10-28 19:10:30 +02:00
Alexandre Julliard
655292ae00
include: Move the exception handling support functions to winecrt0 instead of having them inline.
2010-04-08 17:34:17 +02:00
Alexandre Julliard
c152b4e7d1
include: Add a target address for unwinding for platforms that need it.
2009-06-18 15:17:26 +02:00
Alexandre Julliard
58010a9750
include: Update the comments about the Wine exception macros.
2009-01-26 15:07:50 +01:00
Alexandre Julliard
a7a4f84366
include: Add the needed dllimport attribute to the RtlUnwind declaration.
2008-12-22 20:20:48 +01:00
Alexandre Julliard
e21cbfe7e8
include: Add extern "C" to the exported Wine headers.
2008-11-06 10:43:31 +01:00
Alexandre Julliard
94e217891c
exception.h: Make the RtlUnwind wrapper available separately.
...
Also avoid dependency on winternl.h.
2008-07-03 13:08:19 +02:00
Alexandre Julliard
10e795a091
libport: Move the sigsetjmp replacement to exception.h to make it available for Winelib too.
2008-05-26 19:23:43 +02:00
Alexandre Julliard
69c29866c1
exception.h: Preserve registers when calling RtlUnwind.
2008-05-01 11:07:53 +02:00
Alexandre Julliard
c20e8c9005
exception.h: Only push the exception frame after sigsetjmp.
...
Otherwise on Windows longjmp may want to mess with the exception frame.
2008-05-01 11:07:08 +02:00
Alexandre Julliard
0ee44f5e20
ntdll: Make the exception handling functions inline.
2008-05-01 10:57:54 +02:00
Rob Shearman
4a4b1269fa
include: Include excpt.h from wine/exception.h.
...
Some files use wine/exception.h without also including excpt.h, but
excpt.h is needed when using native exception handling.
2008-02-21 20:15:56 +01:00
Rob Shearman
8608e895eb
Add a new convenience macro for an exception handler that handles all exceptions.
...
When using native compiler exceptions, the previous method of doing
this, __EXCEPT(NULL), would expand to __except(
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a
function.
So add a new macro, __EXCEPT_ALL, which works correctly both when using
native compiler exceptions and without and which makes the meaning of
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Rob Shearman
a82f4dd9b7
Don't use GetExceptionCode and GetExceptionInformation in exception filter functions.
...
When using native compiler exceptions, it isn't valid to use
GetExceptionCode and GetExceptionInformation anywhere other than in the
filter or handler blocks since it would be very hard for the compiler to
work out where to retrieve the exception information from on the stack.
Therefore, remove the WINE_EXCEPTION_FILTER and WINE_FINALLY_FUNC macros
which enabled GetExceptionCode, GetExceptionInformation and
AbnormalTermination to be used inside of the functions they declared and
fix up all callers to access the information directly.
2008-02-16 14:57:44 +01:00
Alexandre Julliard
b1789fc73f
kernel32: Don't save the signal mask in sigsetjmp.
...
This shouldn't be needed anymore now that exceptions are not handled
on the signal stack, and signal mask handling is broken on Mac OS.
2008-02-12 22:39:54 +01:00
Rob Shearman
9f8d379fb3
include: Move Wine-specific EH_* defines from winnt.h to include/wine/exception.h.
2007-12-03 11:54:10 +01:00
Alexandre Julliard
530e765035
include: Exception filters should return LONG, not DWORD.
...
Also move UnhandledExceptionFilter definitions to winbase.h since they
are there in the latest SDK.
2006-09-20 11:26:59 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
324d86a3af
Exception handling: Added a magic __EXCEPT_PAGE_FAULT macro to make it
...
easier to handle the common case of trapping page faults.
2005-12-16 16:58:47 +01:00
Alexandre Julliard
b0394dea42
Get rid of the WINE_UNUSED macro.
2004-09-01 17:36:04 +00:00
Alexandre Julliard
2e4f0bc9ba
Use sigsetjmp instead of setjmp in Wine internal exception handlers to
...
make sure the signal mask is restored properly.
2003-10-24 04:30:13 +00:00
Dimitrie O. Paun
53f9c21fb7
Use angle brackets (<>) rather than quotes ("") for the include
...
directives in our .h files. This should avoid some potentially nasty
surprises for Winelib apps.
2003-08-28 21:43:34 +00:00
Alexandre Julliard
ee106783d0
Renamed EXCEPTION_FRAME to EXCEPTION_REGISTRATION_RECORD since that
...
seems to be the official name.
2003-08-28 03:07:56 +00:00
Alexandre Julliard
b4a4c05aed
Removed a few more #ifdef __WINE__.
2003-01-04 00:19:17 +00:00
Alexandre Julliard
435e2e63f4
winnt.h should not be self-contained, it must depend on windef.h so
...
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Lionel Ulmer
bdb44555a3
Raise an exception if any Wine or Winelib code does an assert.
2002-10-28 23:56:58 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Patrik Stridvall
f94462fb75
Move __stdcall/__cdecl to the right place.
2002-01-31 23:22:07 +00:00
Alexandre Julliard
5016e921f5
Added support for cleaning up the TEB from inside the exiting thread.
2002-01-07 18:04:07 +00:00
Alexandre Julliard
634824be58
Raise an exception when a stub entry point is called.
2000-10-26 22:03:34 +00:00
Alexandre Julliard
83f52d11c1
Moved all Win16 definitions out of the standard Windows headers.
2000-09-26 22:20:14 +00:00
Alexandre Julliard
b59627c89f
Added support for exception handling while in vm86 mode.
...
Fixed a couple of bugs in vm86 support.
2000-09-24 03:11:54 +00:00
Alexandre Julliard
45b2c868bb
Added preliminary support for switching to vm86 mode with proper
...
exception handling.
2000-09-18 02:15:07 +00:00
Alexandre Julliard
8328a9d67d
Fixed finally handler name.
2000-08-23 19:19:35 +00:00
Alexandre Julliard
3850c1ae16
Moved most USER string functions to dlls/user.
...
Cleaned up a few more inter-dll dependencies.
2000-08-06 02:42:46 +00:00
Francois Gouget
ae41e8c804
Reordered the CALLBACK and WINAPI directives so that it compiles with
...
old g++ versions.
2000-06-11 20:07:58 +00:00
Ulrich Weigand
7d43bceb7e
Moved debugger to libwine to make it available to WineLib apps.
...
Try to invoke external debugger if internal debugger crashes.
Try to handle early invocation of debugger more gracefully.
2000-01-30 21:16:45 +00:00
Ulrich Weigand
eb94c7d2c4
Adapted to new register function handling.
1999-11-13 23:54:04 +00:00