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