Piotr Caban
835a83e3f9
msvcrt: Use _JUMP_BUFFER from public header.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:37:47 +01:00
Piotr Caban
772f0331aa
msvcrt: Remove MSVCRT_ prefix from cpp.c functions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Alexandre Julliard
1f11f41f61
msvcrt: Remove some duplicate definitions from msvcrt.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 13:17:10 +01:00
Alexandre Julliard
191bdeaff3
msvcrt: Build with msvcrt headers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Piotr Caban
8468a3ed77
msvcrt: Terminate on noexcept function trying to propagate exception (x86_64).
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 10:55:13 +02:00
Paul Gofman
f65fb09dff
msvcrt: Handle rethrowing from nested try blocks on x64.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:46 +02:00
Alexandre Julliard
ed6aa17d98
msvcrt: Simplify stack layout in __crtCapturePreviousContext().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 14:18:49 +02:00
Alexandre Julliard
44a6043388
ntdll: Move some exception definitions to winnt.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 13:17:37 +02:00
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
Piotr Caban
19bb93ec10
msvcr110: Add __crtCapturePreviousContext implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 09:58:18 +02:00
Piotr Caban
9999c59c48
ucrtbase: Add __processing_throw implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 23:19:59 +01:00
Piotr Caban
f82af4d2bb
ucrtbase: Add __current_exception_context() implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-20 23:19:50 +01:00
Daniel Lehman
3ea70fa1e2
msvcrt: Use exception base to create copy constructor pointer.
...
The exception base (exc_base) from the ExceptionRecord is used in
find_caught_type to find the type info for the exception. All related
type information is relative to this base, including the offset for
the copy constructor.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 19:56:02 +02:00
Daniel Lehman
66b65474d1
msvcrt: Support rethrowing SEH exceptions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:43 +02:00
Daniel Lehman
f1d307cae5
msvcrt: Only unwind current catch block when handling nested exception.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:41 +02:00
Daniel Lehman
57266eec5e
msvcrt: Clean up registered C++ objects in handler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:39 +02:00
Daniel Lehman
ac9db1138c
msvcrt: Move exception rethrow handling to call_catch_block.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:34 +02:00
Daniel Lehman
4aa813867c
msvcrt: Translate SEH exception on each call to __CxxFrameHandler.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-05 11:26:38 +02:00
Daniel Lehman
64c4c39746
msvcrt: Stop at trylevel for ControlPc on target frame for non-consolidate unwinds.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:17:35 +02:00
Daniel Lehman
b0326bea74
msvcrt: Handle synchronous flag for x64 C++ exceptions.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:17:28 +02:00
Piotr Caban
da8b706fdb
msvcrt: Don't call unwind handlers when unwinding nested catch blocks.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:03:57 +02:00
Daniel Lehman
5a10705f0c
msvcrt: Call unwind handlers on intermediate frames during virtual unwind.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:37 +01:00
Piotr Caban
dc0e3d0a9c
msvcrt: Add _fpieee_flt stub.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Piotr Caban
882980c17a
msvcrt: Don't set frame to 0 in x86_64 _setjmp.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 23:59:54 +09:00
Piotr Caban
d9bacd98d8
msvcrt: Improve x86_64 nested exceptions handling.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 11:49:39 +09:00
Piotr Caban
953d6c88d1
msvcrt: Handle frames with CXX_FRAME_MAGIC_VC6 and CXX_FRAME_MAGIC_VC7 magic value.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:59 +09:00
Piotr Caban
63aea551ca
msvcrt: Add x86_64 __CxxFrameHandler implementation.
...
Known issues:
- exceptions are destroyed too late in case of rethrow
- no longer used cxx_frame_info structures are freed incorrectly
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:52 +09:00
Piotr Caban
776c4a1617
msvcrt: Improve dump_function_descr helper.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:33 +09:00
Piotr Caban
bc71c7decb
msvcrt: Call C structured exception translator in x86_64 __CxxFrameHandler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 11:11:31 +09:00
Piotr Caban
3350364d8b
msvcrt: Dump exception information in x86_64 __CxxFrameHandler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:19 +09:00
Piotr Caban
1a8015cb4d
msvcrt: Fix exception parameters number validation in x86_64 __CxxDetectRethrow.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:20:10 +09:00
Piotr Caban
2296261600
msvcr80: Use Cxx(Un)RegisterExceptionObject helpers in i386 nested exception handler.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 11:32:31 +09:00
Piotr Caban
0ef61844b8
msvcrt: Add i386 _IsExceptionObjectToBeDestroyed implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Piotr Caban
07762576c4
msvcrt: Add i386 __CxxExceptionFilter implementation.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
2015-10-01 16:32:34 +09:00
Alexandre Julliard
881374ee96
msvcrt: Add entry points for the C++ exception functions on x86_64.
2012-03-16 11:00:01 +01:00
Alexandre Julliard
b8467c5f69
msvcrt: Add a new file for the x86_64 exception handling.
2012-03-16 10:58:08 +01:00