Alexandre Julliard pushed to branch master at wine / wine
Commits: 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.
- - - - -
6 changed files:
- configure - configure.ac - dlls/ntdll/exception.c - dlls/winecrt0/exception.c - dlls/winecrt0/setjmp.c - include/excpt.h
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/c9ae51fb35a5ef2b103bb4b546c2bf...