Pushed to spice and spice-gtk On Thu, Oct 02, 2014 at 06:17:53PM +0200, Fabiano Fidêncio wrote: > From: Cole Robinson <crobinso@xxxxxxxxxx> > > Fixes these noisy errors on Fedora 21: > > gcc: warning: switch '-Wmudflap' is no longer supported > --- > This patch can be applied in the following projects: > - spice > - spice-gtk > - gtk-vnc > --- > m4/manywarnings.m4 | 213 ++++++++++++++++++++++++++++++++++------------------- > 1 file changed, 137 insertions(+), 76 deletions(-) > > diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4 > index fd0e372..3e6dd21 100644 > --- a/m4/manywarnings.m4 > +++ b/m4/manywarnings.m4 > @@ -1,5 +1,5 @@ > -# manywarnings.m4 serial 3 > -dnl Copyright (C) 2008-2012 Free Software Foundation, Inc. > +# manywarnings.m4 serial 7 > +dnl Copyright (C) 2008-2014 Free Software Foundation, Inc. > dnl This file is free software; the Free Software Foundation > dnl gives unlimited permission to copy and/or distribute it, > dnl with or without modifications, as long as this notice is preserved. > @@ -35,14 +35,12 @@ AC_DEFUN([gl_MANYWARN_COMPLEMENT], > # make sure your gcc understands it. > AC_DEFUN([gl_MANYWARN_ALL_GCC], > [ > - dnl First, check if -Wno-missing-field-initializers is needed. > - dnl -Wmissing-field-initializers is implied by -W, but that issues > - dnl warnings with GCC version before 4.7, for the common idiom > - dnl of initializing types on the stack to zero, using { 0, } > + dnl First, check for some issues that only occur when combining multiple > + dnl gcc warning categories. > AC_REQUIRE([AC_PROG_CC]) > if test -n "$GCC"; then > > - dnl First, check -W -Werror -Wno-missing-field-initializers is supported > + dnl Check if -W -Werror -Wno-missing-field-initializers is supported > dnl with the current $CC $CFLAGS $CPPFLAGS. > AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported]) > AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [ > @@ -77,108 +75,171 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC], > ]) > AC_MSG_RESULT([$gl_cv_cc_nomfi_needed]) > fi > + > + dnl Next, check if -Werror -Wuninitialized is useful with the > + dnl user's choice of $CFLAGS; some versions of gcc warn that it > + dnl has no effect if -O is not also used > + AC_MSG_CHECKING([whether -Wuninitialized is supported]) > + AC_CACHE_VAL([gl_cv_cc_uninitialized_supported], [ > + gl_save_CFLAGS="$CFLAGS" > + CFLAGS="$CFLAGS -Werror -Wuninitialized" > + AC_COMPILE_IFELSE( > + [AC_LANG_PROGRAM([[]], [[]])], > + [gl_cv_cc_uninitialized_supported=yes], > + [gl_cv_cc_uninitialized_supported=no]) > + CFLAGS="$gl_save_CFLAGS"]) > + AC_MSG_RESULT([$gl_cv_cc_uninitialized_supported]) > + > fi > > + # List all gcc warning categories. > + # To compare this list to your installed GCC's, run this Bash command: > + # > + # comm -3 \ > + # <(sed -n 's/^ *\(-[^ ]*\) .*/\1/p' manywarnings.m4 | sort) \ > + # <(gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort | > + # grep -v -x -f <( > + # awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec)) > + > gl_manywarn_set= > for gl_manywarn_item in \ > - -Wall \ > -W \ > - -Wformat-y2k \ > - -Wformat-nonliteral \ > - -Wformat-security \ > - -Winit-self \ > - -Wmissing-include-dirs \ > - -Wswitch-default \ > - -Wswitch-enum \ > - -Wunused \ > - -Wunknown-pragmas \ > - -Wstrict-aliasing \ > - -Wstrict-overflow \ > - -Wsystem-headers \ > - -Wfloat-equal \ > - -Wtraditional \ > - -Wtraditional-conversion \ > - -Wdeclaration-after-statement \ > - -Wundef \ > - -Wshadow \ > - -Wunsafe-loop-optimizations \ > - -Wpointer-arith \ > + -Wabi \ > + -Waddress \ > + -Waggressive-loop-optimizations \ > + -Wall \ > + -Warray-bounds \ > + -Wattributes \ > -Wbad-function-cast \ > - -Wc++-compat \ > - -Wcast-qual \ > - -Wcast-align \ > - -Wwrite-strings \ > - -Wconversion \ > - -Wsign-conversion \ > - -Wlogical-op \ > - -Waggregate-return \ > - -Wstrict-prototypes \ > - -Wold-style-definition \ > - -Wmissing-prototypes \ > - -Wmissing-declarations \ > - -Wmissing-noreturn \ > - -Wmissing-format-attribute \ > - -Wpacked \ > - -Wpadded \ > - -Wredundant-decls \ > - -Wnested-externs \ > - -Wunreachable-code \ > - -Winline \ > - -Winvalid-pch \ > - -Wlong-long \ > - -Wvla \ > - -Wvolatile-register-var \ > - -Wdisabled-optimization \ > - -Wstack-protector \ > - -Woverlength-strings \ > -Wbuiltin-macro-redefined \ > - -Wmudflap \ > - -Wpacked-bitfield-compat \ > - -Wsync-nand \ > - ; do > - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" > - done > - # The following are not documented in the manual but are included in > - # output from gcc --help=warnings. > - for gl_manywarn_item in \ > - -Wattributes \ > + -Wcast-align \ > + -Wchar-subscripts \ > + -Wclobbered \ > + -Wcomment \ > + -Wcomments \ > -Wcoverage-mismatch \ > - -Wmultichar \ > - -Wunused-macros \ > - ; do > - gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" > - done > - # More warnings from gcc 4.6.2 --help=warnings. > - for gl_manywarn_item in \ > - -Wabi \ > -Wcpp \ > + -Wdate-time \ > -Wdeprecated \ > -Wdeprecated-declarations \ > + -Wdisabled-optimization \ > -Wdiv-by-zero \ > -Wdouble-promotion \ > + -Wempty-body \ > -Wendif-labels \ > + -Wenum-compare \ > -Wextra \ > -Wformat-contains-nul \ > -Wformat-extra-args \ > + -Wformat-nonliteral \ > + -Wformat-security \ > + -Wformat-y2k \ > -Wformat-zero-length \ > - -Wformat=2 \ > + -Wfree-nonheap-object \ > + -Wignored-qualifiers \ > + -Wimplicit \ > + -Wimplicit-function-declaration \ > + -Wimplicit-int \ > + -Winit-self \ > + -Winline \ > + -Wint-to-pointer-cast \ > + -Winvalid-memory-model \ > + -Winvalid-pch \ > + -Wjump-misses-init \ > + -Wlogical-op \ > + -Wmain \ > + -Wmaybe-uninitialized \ > + -Wmissing-braces \ > + -Wmissing-declarations \ > + -Wmissing-field-initializers \ > + -Wmissing-include-dirs \ > + -Wmissing-parameter-type \ > + -Wmissing-prototypes \ > -Wmultichar \ > - -Wnormalized=nfc \ > + -Wnarrowing \ > + -Wnested-externs \ > + -Wnonnull \ > + -Wold-style-declaration \ > + -Wold-style-definition \ > + -Wopenmp-simd \ > -Woverflow \ > + -Woverlength-strings \ > + -Woverride-init \ > + -Wpacked \ > + -Wpacked-bitfield-compat \ > + -Wparentheses \ > + -Wpointer-arith \ > + -Wpointer-sign \ > -Wpointer-to-int-cast \ > -Wpragmas \ > + -Wreturn-local-addr \ > + -Wreturn-type \ > + -Wsequence-point \ > + -Wshadow \ > + -Wsizeof-pointer-memaccess \ > + -Wstack-protector \ > + -Wstrict-aliasing \ > + -Wstrict-overflow \ > + -Wstrict-prototypes \ > -Wsuggest-attribute=const \ > + -Wsuggest-attribute=format \ > -Wsuggest-attribute=noreturn \ > -Wsuggest-attribute=pure \ > + -Wswitch \ > + -Wswitch-default \ > + -Wsync-nand \ > + -Wsystem-headers \ > -Wtrampolines \ > + -Wtrigraphs \ > + -Wtype-limits \ > + -Wuninitialized \ > + -Wunknown-pragmas \ > + -Wunsafe-loop-optimizations \ > + -Wunused \ > + -Wunused-but-set-parameter \ > + -Wunused-but-set-variable \ > + -Wunused-function \ > + -Wunused-label \ > + -Wunused-local-typedefs \ > + -Wunused-macros \ > + -Wunused-parameter \ > + -Wunused-result \ > + -Wunused-value \ > + -Wunused-variable \ > + -Wvarargs \ > + -Wvariadic-macros \ > + -Wvector-operation-performance \ > + -Wvla \ > + -Wvolatile-register-var \ > + -Wwrite-strings \ > + \ > ; do > gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" > done > > - # Disable the missing-field-initializers warning if needed > + # gcc --help=warnings outputs an unusual form for this option; list > + # it here so that the above 'comm' command doesn't report a false match. > + gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" > + > + # These are needed for older GCC versions. > + if test -n "$GCC"; then > + case `($CC --version) 2>/dev/null` in > + 'gcc (GCC) '[[0-3]].* | \ > + 'gcc (GCC) '4.[[0-7]].*) > + gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" > + gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" > + ;; > + esac > + fi > + > + # Disable specific options as needed. > if test "$gl_cv_cc_nomfi_needed" = yes; then > gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" > fi > > + if test "$gl_cv_cc_uninitialized_supported" = no; then > + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" > + fi > + > $1=$gl_manywarn_set > ]) > -- > 2.1.0 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpQEMXWaY832.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel