From: Ján Tomko Date: Tue, 28 Jul 2020 19:47:29 +0000 (+0200) Subject: util: xml: use pragma in VIR_XPATH_NODE_AUTORESTORE X-Git-Tag: v6.7.0-rc1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cc177fc5d2c1ac76b256bd8d104d894fa9845ec;p=thirdparty%2Flibvirt.git util: xml: use pragma in VIR_XPATH_NODE_AUTORESTORE The VIR_XPATH_NODE_AUTORESTORE contains an ignore_value statement to silence an unused variable warning on clang. Use a pragma instead, which is not a statement. Signed-off-by: Ján Tomko Reviewed-by: Michal Privoznik --- diff --git a/src/internal.h b/src/internal.h index 3bab6b4bfe..3aa3c6ca67 100644 --- a/src/internal.h +++ b/src/internal.h @@ -189,6 +189,11 @@ _Pragma ("GCC diagnostic push") #endif +/* Where ignore_value cannot be used because it's a statement */ +#define VIR_WARNINGS_NO_UNUSED_VARIABLE \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wunused-variable\"") + #define VIR_WARNINGS_RESET \ _Pragma ("GCC diagnostic pop") diff --git a/src/util/virxml.h b/src/util/virxml.h index 886d1e025f..0301f15308 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -241,9 +241,10 @@ G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virXPathContextNodeSave, virXPathContextNodeRes * node pointer is reset to the original value when this macro was used. */ #define VIR_XPATH_NODE_AUTORESTORE(_ctxt) \ + VIR_WARNINGS_NO_UNUSED_VARIABLE \ g_auto(virXPathContextNodeSave) _ctxt ## CtxtSave = { .ctxt = _ctxt,\ .node = _ctxt->node}; \ - ignore_value(&_ctxt ## CtxtSave) + VIR_WARNINGS_RESET G_DEFINE_AUTOPTR_CLEANUP_FUNC(xmlDoc, xmlFreeDoc); G_DEFINE_AUTOPTR_CLEANUP_FUNC(xmlXPathContext, xmlXPathFreeContext);