On 09.03.2018 08:50, Gerd Hoffmann wrote:
>   Hi,
> 
>> Maybe I should move the code to a separate source file so it can be
>> built with different compiler flags, without needing #pragma?  I don't
>> feel like building all gtk code with -Wno-deprecated-declarations ...
> 
> Hmm, that idea doesn't fly, seems per-object cflags don't work for
> object files which get linked into a module.
> 
> Other ideas anyone?
Maybe simply remove the '#pragma GCC diagnostic ignored
"-Wunused-but-set-variable"' from the configure test and change
util/coroutine-ucontext.c:

diff a/util/coroutine-ucontext.c b/util/coroutine-ucontext.c
--- 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


?

 Thomas

Reply via email to