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