From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37054) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEjyd-0008VR-Em for qemu-devel@nongnu.org; Mon, 02 Apr 2012 12:19:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SEjyb-0004nr-GM for qemu-devel@nongnu.org; Mon, 02 Apr 2012 12:19:31 -0400 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:47177) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SEjyb-0004ng-6x for qemu-devel@nongnu.org; Mon, 02 Apr 2012 12:19:29 -0400 Message-ID: <4F79D18D.7040203@weilnetz.de> Date: Mon, 02 Apr 2012 18:19:25 +0200 From: Stefan Weil MIME-Version: 1.0 References: <1333363816-1691-1-git-send-email-berrange@redhat.com> <1333363816-1691-2-git-send-email-berrange@redhat.com> In-Reply-To: <1333363816-1691-2-git-send-email-berrange@redhat.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/9] Move all compiler warning/optimization flags to the same place List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: qemu-devel@nongnu.org Am 02.04.2012 12:50, schrieb Daniel P. Berrange: > From: "Daniel P. Berrange" > > The list of warning/optimization flags set in QEMU_CFLAGS is > in two places in configure. Only one of the places checks > for GCC support. Merge the two separate lists into one and > ensure they are all tested. Set one flag per line to make > it easier to read the list of flags as increasing numbers > are enabled The first list includes compiler flags which don't need a test because all versions of gcc support them. Only the flags in the second list must be tested. Merging both list and testing all flags increases the time needed for configure when the current test method is used. It's possible to reduce the number of compiler invocations during configure by passing all flags together to the compiler and analyzing the error message which is returned. Example: gcc -Wtest1 -Wunsupported2 -E - < /dev/null cc1: error: unrecognized command line option "-Wtest1" cc1: error: unrecognized command line option "-Wunsupported2" > > Signed-off-by: Daniel P. Berrange > --- > configure | 31 ++++++++++++++++++++++++------- > 1 files changed, 24 insertions(+), 7 deletions(-) > > diff --git a/configure b/configure > index 4b3adc9..cd40d17 100755 > --- a/configure > +++ b/configure > @@ -252,9 +252,6 @@ pkg_config=query_pkg_config > sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" > > # default flags for all hosts > -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="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE > $QEMU_CFLAGS" > QEMU_CFLAGS="-D_FORTIFY_SOURCE=2 $QEMU_CFLAGS" > QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu" > @@ -1144,10 +1141,30 @@ else > exit 1 > fi > > -gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits" > -gcc_flags="-Wformat-security -Wformat-y2k -Winit-self > -Wignored-qualifiers $gcc_flags" > -gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs > $gcc_flags" > -gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags" > +gcc_flags= > + > +# Optimization flags > +gcc_flags="$gcc_flags -fstack-protector-all" > +gcc_flags="$gcc_flags -fno-strict-aliasing" > + > +# Warning flags > +gcc_flags="$gcc_flags -Wall" > +gcc_flags="$gcc_flags -Wundef" > +gcc_flags="$gcc_flags -Wwrite-strings" > +gcc_flags="$gcc_flags -Wmissing-prototypes" > +gcc_flags="$gcc_flags -Wstrict-prototypes" > +gcc_flags="$gcc_flags -Wredundant-decls" > +gcc_flags="$gcc_flags -Wold-style-declaration" > +gcc_flags="$gcc_flags -Wold-style-definition" > +gcc_flags="$gcc_flags -Wtype-limits" > +gcc_flags="$gcc_flags -Wformat-security" > +gcc_flags="$gcc_flags -Wformat-y2k" > +gcc_flags="$gcc_flags -Winit-self" > +gcc_flags="$gcc_flags -Wignored-qualifiers" > +gcc_flags="$gcc_flags -Wmissing-include-dirs" > +gcc_flags="$gcc_flags -Wempty-body" > +gcc_flags="$gcc_flags -Wnested-externs" > +gcc_flags="$gcc_flags -Wendif-labels" Could you sort the -Wxxx flags? Then it's easier to avoid duplicates, and merge conflicts will occur less often when new flags are added. > cat > $TMPC << EOF > int main(void) { return 0; } > EOF Regards, Stefan Weil