From: Martin Mares Date: Sun, 18 Feb 2024 13:15:06 +0000 (+0100) Subject: windows: Comment on MSVC inline asm issues X-Git-Tag: v3.11.0~25 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=f87084246bceb65947d320bd5d53f35d14619b44;p=pciutils.git windows: Comment on MSVC inline asm issues --- diff --git a/lib/i386-io-windows.h b/lib/i386-io-windows.h index c181b4f..a776bd5 100644 --- a/lib/i386-io-windows.h +++ b/lib/i386-io-windows.h @@ -26,6 +26,13 @@ * GCC version 4.9.0 and higher provides __builtin_ia32_readeflags_uXX() * builtin for XX-mode. This builtin is also available as __readeflags() * function indirectly via header file. + * + * CAVEAT: Semicolon in MSVC __asm block means start of the comment, and not + * end of the __asm statement, like it is for all other C statements. Also + * function which uses MSVC inline assembly cannot be inlined to another function + * (compiler reports a warning about it, not a fatal error). So we add explicit + * curly brackets for __asm blocks, remove misleading semicolons and do not + * declare functions as inline. */ #if defined(_MSC_VER) && (_MSC_VER >= 1500 || (_MSC_VER >= 1400 && defined(__BUILDMACHINE__))) #pragma intrinsic(__readeflags)