qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] configure: Disable (clang) initializer-override


From: Igor Mitsyanko
Subject: Re: [Qemu-devel] [PATCH] configure: Disable (clang) initializer-overrides warnings
Date: Sun, 28 Oct 2012 00:32:00 +0400
User-agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1

On 10/27/2012 8:51 PM, Blue Swirl wrote:
Thanks, applied.

On Sun, Oct 14, 2012 at 8:00 PM, Peter Maydell <address@hidden> wrote:
Disable clang's initializer-overrides warnings, as QEMU makes significant
use of the pattern of initializing an array with a range-based default
entry like
     [0 ... 0x1ff] = { GPIO_NONE, 0 }
followed by specific entries which override that default, and clang
would otherwise warn "initializer overrides prior initialization of
this subobject" when it encountered the specific entry.

Signed-off-by: Peter Maydell <address@hidden>
---
This is basically a judgement that our coding style is legitimate
and the compiler is being overly alarmist. I don't think we would
benefit from trying to silence the warnings and I can't think of
a clean way of doing so...

NB that gcc will happily ignore -Wno-wombat warnings that it doesn't
happen to recognize. (For compilers that don't accept-and-ignore the flag
configure will identify this and not use it.)


I encountered strange behavior of latest mingw gcc, it ignores unrecognized -Wno-wombat options only in case if no other warnings are issued (configure gccflags test doesn't issue any), otherwise I get this:

cc1.exe: warning: unrecognized command line option "-Wno-initializer-overrides" [enabled by default]

This is probably a bug in mingw GCC (or perhaps I'm using it wrong), but anyway, this makes QEMU mingw build output very noisy.

Blue Swirl previously submitted a patch which enabled this flag
(among others):
http://lists.gnu.org/archive/html/qemu-devel/2012-07/msg04203.html

I haven't found the other two flags in that patch to be required.

  configure | 1 +
  1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index 353d788..f78cfc5 100755
--- a/configure
+++ b/configure
@@ -1187,6 +1187,7 @@ 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="-Wno-initializer-overrides $gcc_flags"
  # Note that we do not add -Werror to gcc_flags here, because that would
  # enable it for all configure tests. If a configure test failed due
  # to -Werror this would just silently disable some features,
--
1.7.11.4








reply via email to

[Prev in Thread] Current Thread [Next in Thread]