Patchwork [5/5] configure: disable a few Clang compiler warnings

login
register
mail settings
Submitter Blue Swirl
Date July 30, 2012, 4:04 p.m.
Message ID <25942a670d12b1fd431e5a0d498ff50cef80433e.1343664167.git.blauwirbel@gmail.com>
Download mbox | patch
Permalink /patch/174037/
State New
Headers show

Comments

Blue Swirl - July 30, 2012, 4:04 p.m.
From: Blue Swirl <blauwirbel@gmail.com>

Clang compiler warns about a few constructs in QEMU code. It's possible
to avoid those but that needs more work.

Suppress some warnings for Clang compiler. -Wno-unused-value would
conflict with GCC.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 configure |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
Stefan Weil - July 30, 2012, 4:56 p.m.
Am 30.07.2012 18:04, schrieb blauwirbel@gmail.com:
> From: Blue Swirl <blauwirbel@gmail.com>
>
> Clang compiler warns about a few constructs in QEMU code. It's possible
> to avoid those but that needs more work.
>
> Suppress some warnings for Clang compiler. -Wno-unused-value would
> conflict with GCC.
>
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> ---
>   configure |    5 ++++-
>   1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/configure b/configure
> index c65b5f6..e32f188 100755
> --- a/configure
> +++ b/configure
> @@ -1154,17 +1154,20 @@ if test -z "$werror" ; then
>       fi
>   fi
>   
> +# GCC flags
>   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"
> +# Clang flags
> +clang_flags="-Wno-initializer-overrides -Wno-self-assign -Wno-constant-conversion"

I'd prefer getting these warnings (and not having them disabled)
for compilations without -Werror ("$werror" = "no").

Regards,

Stefan W.


>
>   if test "$werror" = "yes" ; then
>       gcc_flags="-Werror $gcc_flags"
>   fi
>   cat > $TMPC << EOF
>   int main(void) { return 0; }
>   EOF
> -for flag in $gcc_flags; do
> +for flag in $gcc_flags $clang_flags; do
>       if compile_prog "-Werror $flag" "" ; then
>   	QEMU_CFLAGS="$QEMU_CFLAGS $flag"
>       fi
Blue Swirl - July 30, 2012, 5:23 p.m.
On Mon, Jul 30, 2012 at 4:56 PM, Stefan Weil <sw@weilnetz.de> wrote:
> Am 30.07.2012 18:04, schrieb blauwirbel@gmail.com:
>
>> From: Blue Swirl <blauwirbel@gmail.com>
>>
>> Clang compiler warns about a few constructs in QEMU code. It's possible
>> to avoid those but that needs more work.
>>
>> Suppress some warnings for Clang compiler. -Wno-unused-value would
>> conflict with GCC.
>>
>> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
>> ---
>>   configure |    5 ++++-
>>   1 files changed, 4 insertions(+), 1 deletions(-)
>>
>> diff --git a/configure b/configure
>> index c65b5f6..e32f188 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1154,17 +1154,20 @@ if test -z "$werror" ; then
>>       fi
>>   fi
>>   +# GCC flags
>>   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"
>> +# Clang flags
>> +clang_flags="-Wno-initializer-overrides -Wno-self-assign
>> -Wno-constant-conversion"
>
>
> I'd prefer getting these warnings (and not having them disabled)
> for compilations without -Werror ("$werror" = "no").

On second thought the patch makes little sense, I'll drop it. I was
trying to get everything compiled with -Werror, but that's impossible
anyway with AREG0 conversion unfinished.

>
> Regards,
>
> Stefan W.
>
>
>
>>
>>   if test "$werror" = "yes" ; then
>>       gcc_flags="-Werror $gcc_flags"
>>   fi
>>   cat > $TMPC << EOF
>>   int main(void) { return 0; }
>>   EOF
>> -for flag in $gcc_flags; do
>> +for flag in $gcc_flags $clang_flags; do
>>       if compile_prog "-Werror $flag" "" ; then
>>         QEMU_CFLAGS="$QEMU_CFLAGS $flag"
>>       fi
>
>

Patch

diff --git a/configure b/configure
index c65b5f6..e32f188 100755
--- a/configure
+++ b/configure
@@ -1154,17 +1154,20 @@  if test -z "$werror" ; then
     fi
 fi
 
+# GCC flags
 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"
+# Clang flags
+clang_flags="-Wno-initializer-overrides -Wno-self-assign -Wno-constant-conversion"
 if test "$werror" = "yes" ; then
     gcc_flags="-Werror $gcc_flags"
 fi
 cat > $TMPC << EOF
 int main(void) { return 0; }
 EOF
-for flag in $gcc_flags; do
+for flag in $gcc_flags $clang_flags; do
     if compile_prog "-Werror $flag" "" ; then
 	QEMU_CFLAGS="$QEMU_CFLAGS $flag"
     fi