From 6844f671fc413c33c38a87a81929e702e1e87165 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Sat, 19 Dec 2020 00:37:12 +0200 Subject: [PATCH] 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 Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- include/wine/asm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/wine/asm.h b/include/wine/asm.h index ed44a7dd6dd..236b35cf8fe 100644 --- a/include/wine/asm.h +++ b/include/wine/asm.h @@ -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