From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41412) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmjRV-0005vq-5K for qemu-devel@nongnu.org; Wed, 21 Sep 2016 11:28:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmjRQ-0005tT-5C for qemu-devel@nongnu.org; Wed, 21 Sep 2016 11:28:12 -0400 Received: from [62.254.189.133] (port=18416 helo=centos.localdomain) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmjRP-0005iV-Qt for qemu-devel@nongnu.org; Wed, 21 Sep 2016 11:28:08 -0400 From: Felipe Franciosi Date: Wed, 21 Sep 2016 16:27:01 +0100 Message-Id: <1474471622-12802-1-git-send-email-felipe@nutanix.com> Subject: [Qemu-devel] [PATCH 1/2] compiler: add ignore_value() macro List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Pavel Dovgalyuk , Eric Blake , "Daniel P. Berrange" Cc: Markus Armbruster , qemu-devel@nongnu.org, Felipe Franciosi On GCC versions 3.4 and newer, simply using (void) in front of a function that has been declared with WUR will no longer suppress a compilation warning. This commit brings the ignore_value() macro from GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. See the link below for the original author's comment: https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html Signed-off-by: Felipe Franciosi --- include/qemu/compiler.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index 338d3a6..655d0c7 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -26,6 +26,14 @@ #define QEMU_WARN_UNUSED_RESULT #endif +/* The ignore_value() macro comes from GNULIB's LGPLv2+ ignore-value.h */ +#if QEMU_GNUC_PREREQ(3, 4) +# define ignore_value(x) \ + (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; })) +#else +# define ignore_value(x) ((void) (x)) +#endif + #if QEMU_GNUC_PREREQ(4, 0) #define QEMU_SENTINEL __attribute__((sentinel)) #else -- 1.9.5