Alex Henrie : include: Provide a definition of NOP_FUNCTION that works on GCC.

Alexandre Julliard julliard at winehq.org
Thu Sep 9 15:42:31 CDT 2021


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

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Wed Sep  8 23:29:25 2021 -0600

include: Provide a definition of NOP_FUNCTION that works on GCC.

NOP_FUNCTION is a drop-in function replacement that ignores its
arguments but also suppresses compiler warnings about them being unused.
For example, on MSVC, 0(foo, bar, baz()); or __noop(foo, bar, baz());
would suppress warnings about foo and bar being unused and not call baz
at all. Neither of those syntaxes is supported on GCC, which provides no
similar way to suppress unused variable warnings, but we can at least
allow such code to compile by defining NOP_FUNCTION to be an empty
variadic macro.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/winnt.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/winnt.h b/include/winnt.h
index b83f588a16d..c230fa0cd7f 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -123,10 +123,14 @@ extern "C" {
 #endif
 
 #ifndef NOP_FUNCTION
-# if defined(_MSC_VER) && (_MSC_VER >= 1210)
-#  define NOP_FUNCTION __noop
+# if defined(_MSC_VER)
+#  if (_MSC_VER >= 1210)
+#   define NOP_FUNCTION __noop
+#  else
+#   define NOP_FUNCTION (void)0
+#  endif
 # else
-#  define NOP_FUNCTION (void)0
+#  define NOP_FUNCTION(...)
 # endif
 #endif
 




More information about the wine-cvs mailing list