asm: Use SEH assembly when building with clang in MSVC mode.

In MSVC mode, the __SEH__ macro isn't defined, but the .seh directives
are supported in assembly. In these cases, we have to hardcode which
architectures we know clang supports SEH directives in as it's not
exposed otherwise.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Martin Storsjo 2020-12-19 00:37:12 +02:00 committed by Alexandre Julliard
parent dc46af7245
commit 6844f671fc
1 changed files with 1 additions and 1 deletions

View File

@ -41,7 +41,7 @@
# define __ASM_CFI(str)
#endif
#ifdef __SEH__
#if defined(__SEH__) || (defined(_MSC_VER) && defined(__clang__) && (defined(__x86_64__) || defined(__aarch64__)))
# if defined(__aarch64__) && defined(__clang_major__) && (__clang_major__ < 12 || defined(__apple_build_version__))
/* Clang got support for aarch64 SEH assembly directives in Clang 12,
* before that, only .seh_startproc/.seh_endproc but nothing else was