Message ID | 507DC189.4060107@weilnetz.de |
---|---|
State | New |
Headers | show |
On 16 October 2012 21:20, Stefan Weil <sw@weilnetz.de> wrote: > Hi Peter, hi Blue, > > gcc uses a different flag -Wno-override-init to disable initializer override > warnings. > > I tested the following patch which uses -Wextra with gcc-4.4 and gcc-4.7. > It allows compilation of QEMU without warnings. > > A test with those flags and clang still has to be done. For clang the options have to be ordered so that -Wextra comes before the -Wno-* options that disable bits of -Wextra, as clang processes the options in comandline order. (See this clang bug http://llvm.org/bugs/show_bug.cgi?id=13077 pointing out the difference between clang and gcc and closed as "expected behaviour" :-( ) Alternatively, rather than enabling 12 warnings with -Wextra and then disabling 4 with -Wno-*, we could just enable the 8 warnings we want. clang still needs -Wno-initializer-overrides in any case, so this is distinct from my patch. I also note that you've put your options in a different bit of configure from the part my patch touched. I think it would probably be clearer if all the warning options went in the "try this and use if compiler accepts it" list, even for ones that presumably have worked for every gcc ever. (ie move some of the options currently in the 'always use this' list). -- PMM
diff --git a/configure b/configure index 359e453..0818eda 100755 --- a/configure +++ b/configure @@ -267,6 +267,8 @@ sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS" +QEMU_CFLAGS="-Wextra -Wno-missing-field-initializers $QEMU_CFLAGS" +QEMU_CFLAGS="-Wno-override-init -Wno-sign-compare -Wno-unused-parameter $QEMU_CFLAGS" QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE