Module: wine Branch: master Commit: 6844f671fc413c33c38a87a81929e702e1e87165 URL: https://source.winehq.org/git/wine.git/?a=commit;h=6844f671fc413c33c38a87a81...
Author: Martin Storsjo martin@martin.st Date: Sat Dec 19 00:37:12 2020 +0200
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
---
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