aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2020-07-08 20:19:44 +0200
committerThomas Huth <thuth@redhat.com>2020-07-13 11:40:52 +0200
commit7aa12aa215e12ab2d41c60ba57e82d3e2af9f38e (patch)
tree094817ac7c6b449b2b763edcb4621491c9106215
parent590246ead7e5628e9e365c88aeb1ff3eab24de0d (diff)
downloadqemu-7aa12aa215e12ab2d41c60ba57e82d3e2af9f38e.zip
qemu-7aa12aa215e12ab2d41c60ba57e82d3e2af9f38e.tar.gz
qemu-7aa12aa215e12ab2d41c60ba57e82d3e2af9f38e.tar.bz2
Remove the CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE switch
GCC supports "#pragma GCC diagnostic" since version 4.6, and Clang seems to support it, too, since its early versions 3.x. That means that our minimum required compiler versions all support this pragma already and we can remove the test from configure and all the related #ifdefs in the code. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20200710045515.25986-1-thuth@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
-rwxr-xr-xconfigure29
-rw-r--r--include/ui/gtk.h4
-rw-r--r--include/ui/qemu-pixman.h4
-rwxr-xr-xscripts/decodetree.py12
-rw-r--r--ui/gtk.c4
-rw-r--r--util/coroutine-ucontext.c4
6 files changed, 6 insertions, 51 deletions
diff --git a/configure b/configure
index 69a8911..9b6ab9d 100755
--- a/configure
+++ b/configure
@@ -5729,31 +5729,6 @@ if compile_prog "" "" ; then
fi
########################################
-# check whether we can disable warning option with a pragma (this is needed
-# to silence warnings in the headers of some versions of external libraries).
-# This test has to be compiled with -Werror as otherwise an unknown pragma is
-# only a warning.
-#
-# If we can't selectively disable warning in the code, disable -Werror so that
-# the build doesn't fail anyway.
-
-pragma_disable_unused_but_set=no
-cat > $TMPC << EOF
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wstrict-prototypes"
-#pragma GCC diagnostic pop
-
-int main(void) {
- return 0;
-}
-EOF
-if compile_prog "-Werror" "" ; then
- pragma_diagnostic_available=yes
-else
- werror=no
-fi
-
-########################################
# check if we have valgrind/valgrind.h
valgrind_h=no
@@ -7689,10 +7664,6 @@ if test "$linux_magic_h" = "yes" ; then
echo "CONFIG_LINUX_MAGIC_H=y" >> $config_host_mak
fi
-if test "$pragma_diagnostic_available" = "yes" ; then
- echo "CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE=y" >> $config_host_mak
-fi
-
if test "$valgrind_h" = "yes" ; then
echo "CONFIG_VALGRIND_H=y" >> $config_host_mak
fi
diff --git a/include/ui/gtk.h b/include/ui/gtk.h
index d1b2308..eaeb450 100644
--- a/include/ui/gtk.h
+++ b/include/ui/gtk.h
@@ -1,15 +1,11 @@
#ifndef UI_GTK_H
#define UI_GTK_H
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
/* Work around an -Wstrict-prototypes warning in GTK headers */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
-#endif
#include <gtk/gtk.h>
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
#pragma GCC diagnostic pop
-#endif
#include <gdk/gdkkeysyms.h>
diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
index 3b7cf70..87737a6 100644
--- a/include/ui/qemu-pixman.h
+++ b/include/ui/qemu-pixman.h
@@ -7,14 +7,10 @@
#define QEMU_PIXMAN_H
/* pixman-0.16.0 headers have a redundant declaration */
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls"
-#endif
#include <pixman.h>
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
#pragma GCC diagnostic pop
-#endif
/*
* pixman image formats are defined to be native endian,
diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index 530d41c..694757b 100755
--- a/scripts/decodetree.py
+++ b/scripts/decodetree.py
@@ -1327,12 +1327,10 @@ def main():
# but we can't tell which ones. Prevent issues from the compiler by
# suppressing redundant declaration warnings.
if anyextern:
- output("#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE\n",
- "# pragma GCC diagnostic push\n",
- "# pragma GCC diagnostic ignored \"-Wredundant-decls\"\n",
- "# ifdef __clang__\n"
+ output("#pragma GCC diagnostic push\n",
+ "#pragma GCC diagnostic ignored \"-Wredundant-decls\"\n",
+ "#ifdef __clang__\n"
"# pragma GCC diagnostic ignored \"-Wtypedef-redefinition\"\n",
- "# endif\n",
"#endif\n\n")
out_pats = {}
@@ -1347,9 +1345,7 @@ def main():
output('\n')
if anyextern:
- output("#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE\n",
- "# pragma GCC diagnostic pop\n",
- "#endif\n\n")
+ output("#pragma GCC diagnostic pop\n\n")
for n in sorted(formats.keys()):
f = formats[n]
diff --git a/ui/gtk.c b/ui/gtk.c
index d4b49bd..b0cc08a 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1996,14 +1996,10 @@ static GSList *gd_vc_gfx_init(GtkDisplayState *s, VirtualConsole *vc,
* proper replacement (native opengl support) is only
* available in 3.16+. Silence the warning if possible.
*/
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#endif
gtk_widget_set_double_buffered(vc->gfx.drawing_area, FALSE);
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
#pragma GCC diagnostic pop
-#endif
vc->gfx.dcl.ops = &dcl_egl_ops;
}
} else
diff --git a/util/coroutine-ucontext.c b/util/coroutine-ucontext.c
index fff20aa..904b375 100644
--- a/util/coroutine-ucontext.c
+++ b/util/coroutine-ucontext.c
@@ -251,8 +251,8 @@ Coroutine *qemu_coroutine_new(void)
}
#ifdef CONFIG_VALGRIND_H
-#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && !defined(__clang__)
/* Work around an unused variable in the valgrind.h macro... */
+#if !defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
@@ -260,7 +260,7 @@ static inline void valgrind_stack_deregister(CoroutineUContext *co)
{
VALGRIND_STACK_DEREGISTER(co->valgrind_stack_id);
}
-#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && !defined(__clang__)
+#if !defined(__clang__)
#pragma GCC diagnostic pop
#endif
#endif