[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/14] build: try improve handling of clang warnings
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL 01/14] build: try improve handling of clang warnings |
Date: |
Mon, 12 Mar 2018 10:13:52 +0100 |
This patch disables the pragma diagnostic -Wunused-but-set-variable for
clang in util/coroutine-ucontext.c.
This in turn allows us to remove it from the configure check, so the
CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE will succeed for clang.
With that in place clang builds (linux) will use -Werror by default,
which breaks the build due to warning about unaligned struct members.
Just turning off this warning isn't a good idea as it indicates
portability problems. So make it a warning again, using
-Wno-error=address-of-packed-member. That way it doesn't break the
build but still shows up in the logs.
Now clang builds qemu without errors. Well, almost. There are some
left in the rdma code. Leaving that to the rdma people. All others can
use --disable-rdma to workarounds this.
Cc: Peter Maydell <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
configure | 2 +-
util/coroutine-ucontext.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index f74e1f3b7c..356abee025 100755
--- a/configure
+++ b/configure
@@ -1692,6 +1692,7 @@ gcc_flags="-Wno-missing-include-dirs -Wempty-body
-Wnested-externs $gcc_flags"
gcc_flags="-Wendif-labels -Wno-shift-negative-value $gcc_flags"
gcc_flags="-Wno-initializer-overrides -Wexpansion-to-defined $gcc_flags"
gcc_flags="-Wno-string-plus-int $gcc_flags"
+gcc_flags="-Wno-error=address-of-packed-member $gcc_flags"
# Note that we do not add -Werror to gcc_flags here, because that would
# enable it for all configure tests. If a configure test failed due
# to -Werror this would just silently disable some features,
@@ -4860,7 +4861,6 @@ fi
pragma_disable_unused_but_set=no
cat > $TMPC << EOF
#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
#pragma GCC diagnostic pop
diff --git a/util/coroutine-ucontext.c b/util/coroutine-ucontext.c
index 926d3402e3..090ba21a13 100644
--- a/util/coroutine-ucontext.c
+++ b/util/coroutine-ucontext.c
@@ -170,7 +170,7 @@ Coroutine *qemu_coroutine_new(void)
}
#ifdef CONFIG_VALGRIND_H
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
+#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && !defined(__clang__)
/* Work around an unused variable in the valgrind.h macro... */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
@@ -179,7 +179,7 @@ static inline void
valgrind_stack_deregister(CoroutineUContext *co)
{
VALGRIND_STACK_DEREGISTER(co->valgrind_stack_id);
}
-#ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
+#if defined(CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE) && !defined(__clang__)
#pragma GCC diagnostic pop
#endif
#endif
--
2.9.3
- [Qemu-devel] [PULL 00/14] Ui 20180312 patches, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 02/14] make: switch language file build to be gtk module aware, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 03/14] sdl: workaround bug in sdl 2.0.8 headers, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 01/14] build: try improve handling of clang warnings,
Gerd Hoffmann <=
- [Qemu-devel] [PULL 09/14] ui/gtk-egl: add cursor_dmabuf support, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 10/14] vnc: deal with surface NULL pointers, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 07/14] ui/gtk: use GtkGlArea on wayland only, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 05/14] ui/gtk: group gtk.mo declarations in Makefile, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 14/14] qapi: Add device ID and head parameters to screendump, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 06/14] ui/opengl: Makefile cleanup, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 08/14] ui/gtk-egl: add scanout_dmabuf support, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 11/14] spice: drop dprint() debug logging, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 12/14] spice: add scanout_dmabuf support, Gerd Hoffmann, 2018/03/12
- [Qemu-devel] [PULL 04/14] ui/gtk: make GtkGlArea usage a runtime option, Gerd Hoffmann, 2018/03/12