-
41130f91
by Jacek Caban at 2025-05-22T11:53:54+02:00
ntdll: Mark IsBadStringPtr functions as noinline.
Without this, the compiler may inline them into dispatch_exception. When compiler
exceptions are enabled, this causes a handler to be set up for dispatch_exception,
which is unintended. A side effect of this is that EXCEPTION_NESTED_CALL may be
cleared when a nested exception is dispatched.
This fixes test_nested_exception test on aarch64 when compiler exceptions are used.
-
87655cd5
by Jacek Caban at 2025-05-22T11:59:23+02:00
configure: Enable -fasync-exceptions when supported.
This affects Clang in MSVC mode. By default, Clang treats __try/__except as regular
exceptions, assuming that memory access doesn’t throw. As a result, it may
incorrectly move code outside the exception handler or optimize away the handler
entirely. MSVC always treats __try/__except as meaningful. Work around the issue
by explicitly enabling -fasync-exceptions.
See https://github.com/llvm/llvm-project/issues/62606 more context.
-
222de2e0
by Jacek Caban at 2025-05-22T16:30:03+02:00
include: Enable compiler exceptions on Clang for 64-bit MSVC targets.