Commit Graph

15 Commits

Author SHA1 Message Date
Paul Gofman 049bd08d8b vcruntime140_1: Support two continuation addresses for catchblock.
MSVC generates that sometimes when there is a goto from catch block.

Fixes a crash in Company of Heroes 2.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:45 +01:00
Daniel Lehman 649072d1c8 vcruntime140_1: Terminate on noexcept function trying to propagate exception.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 10:55:17 +02:00
Paul Gofman c25a611d95 vcruntime140_1: 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:30:31 +02:00
Piotr Caban bf454cc394 vcruntime140_1: Add support for pointer to object in unwind info.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49307
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 22:25:36 +02:00
Daniel Lehman a9d916cfec vcruntime140_1: Don't terminate on -1 trylevel.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 11:58:57 +02:00
Daniel Lehman b33e1d4cb7 vcruntime140_1: Unwind state 0.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:46:53 +02:00
Daniel Lehman 7d2675d199 vcruntime140_1: Don't terminate on state of -1.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:46:50 +02:00
Daniel Lehman 94b25a47ba vcruntime140_1: Skip unwind if already at last level.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:46:48 +02:00
Daniel Lehman 0f15bfee33 vcruntime140_1: Change pointer math in decode_uint.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:46:45 +02:00
Daniel Lehman 7f0f3be020 vcruntime140_1: Support unwind handler with frame.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:46:41 +02:00
Daniel Lehman 2f5ea32377 vcruntime140_1: Use return address from catch block routine if not provided by catch block info.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Piotr Caban f52b33c630 vcruntime140_1: Fix rethrow handling in __CxxFrameHandler4.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 19:35:11 +02:00
Piotr Caban a715a0c4ca vcruntime140_1: Add __CxxFrameHandler4 implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:34:31 +02:00
Piotr Caban 7f4a880fc5 vcruntime140_1: Implement function description version 4 structures reading.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:32:36 +02:00
Piotr Caban 68bbf86483 vcruntime140_1: Add __CxxFrameHandler4 stub.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:32:24 +02:00