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

Alexandre Julliard julliard at winehq.org
Mon Dec 21 15:49:52 CST 2020


Module: wine
Branch: master
Commit: 6844f671fc413c33c38a87a81929e702e1e87165
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=6844f671fc413c33c38a87a81929e702e1e87165

Author: Martin Storsjo <martin at 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 at martin.st>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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




More information about the wine-cvs mailing list